Instalar GitLab en Alma Linux 8

GitLab es un software DevOps gratuito y de código abierto que viene con múltiples herramientas para desarrollar, asegurar y operar software en una sola aplicación. Proporciona gratuitamente repositorios ilimitados y colaboradores ilimitados. Se utiliza principalmente para alojar repositorios Git, con funciones adicionales relacionadas con el desarrollo, como el seguimiento de incidencias. Es muy similar a Github y Bitbucket y permite a los individuos y equipos compartir el código de forma remota con otros.

GitLab está disponible en cuatro ediciones principales:

  • GitLabCommunity Edition: gratuito, de código abierto y autoalojado.
  • GitLabEnterprise Edition – Autoalojado y de pago con funciones adicionales.
  • GitLab.com – Gratuito, y SaaS.
  • GitLab.io – Instancia privada de GitLab gestionada por GitLab Inc.

En este post, explicaremos cómo instalar GitLab CE en Alma Linux 8.

Requisitos previos

  • Un servidor con Alma Linux 8.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Añadir el repositorio de GitLab CE

Por defecto, el paquete GitLab no está incluido en el repositorio por defecto de Alma Linux. Así que tendrás que añadir el repositorio oficial de GitLab a tu sistema. Puedes descargar y añadir el siguiente script para añadir el repositorio de GitLab.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

Obtendrás la siguiente salida:

Complete!
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <[email protected]>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <[email protected]>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...

The repository is setup! You can now install packages.

Puedes verificar el repositorio instalado utilizando el siguiente comando:

cat /etc/yum.repos.d/gitlab_gitlab-ce.repo

Obtendrás la siguiente salida:

[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

También puedes listar el repositorio de GitLab utilizando el siguiente comando:

dnf repolist

Obtendrás la siguiente salida:

repo id                                                               repo name
appstream                                                             Rocky Linux 8 - AppStream
baseos                                                                Rocky Linux 8 - BaseOS
extras                                                                Rocky Linux 8 - Extras
gitlab_gitlab-ce                                                      gitlab_gitlab-ce
gitlab_gitlab-ce-source                                               gitlab_gitlab-ce-source

Instalar GitLab CE en Alma Linux 8

En este punto, el repo de GitLab está creado en tu sistema. Ahora puedes instalar GitLab CE ejecutando el siguiente comando:

dnf install gitlab-ce -y

Una vez instalado GitLab CE, obtendrás la siguiente salida:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Please configure a URL for your GitLab instance by setting `external_url`
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-8


  Verifying        : gitlab-ce-14.8.2-ce.0.el8.x86_64                       1/1 

Installed:
  gitlab-ce-14.8.2-ce.0.el8.x86_64                                              

Complete!

Configurar GitLab CE

A continuación, tendrás que definir tu nombre de dominio en el archivo de configuración de GitLab. Para ello, edita el archivo de configuración de GitLab:

nano /etc/gitlab/gitlab.rb

Cambia la siguiente línea con tu nombre de dominio:

external_url 'http://gitlab.example.com'

Guarda y cierra el archivo y luego reconfigura el GitLab con el siguiente comando:

gitlab-ctl reconfigure

Una vez reconfigurado el GitLab CE, obtendrás la siguiente salida:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!

Ahora puedes comprobar el estado del GitLab CE utilizando el siguiente comando:

gitlab-ctl status

Obtendrás la siguiente salida:

run: gitaly: (pid 26684) 69s; run: log: (pid 25075) 351s
run: gitlab-exporter: (pid 26617) 73s; run: log: (pid 25555) 207s
run: gitlab-kas: (pid 26585) 75s; run: log: (pid 25339) 334s
run: gitlab-workhorse: (pid 26595) 74s; run: log: (pid 25472) 229s
run: grafana: (pid 26665) 70s; run: log: (pid 26315) 110s
run: logrotate: (pid 25000) 364s; run: log: (pid 25008) 363s
run: nginx: (pid 25488) 226s; run: log: (pid 25499) 222s
run: node-exporter: (pid 26603) 74s; run: log: (pid 25541) 213s
run: postgres-exporter: (pid 26659) 70s; run: log: (pid 25891) 168s
run: postgresql: (pid 25207) 341s; run: log: (pid 25218) 340s
run: prometheus: (pid 26631) 72s; run: log: (pid 25629) 194s
run: puma: (pid 25406) 249s; run: log: (pid 25417) 246s
run: redis: (pid 25039) 358s; run: log: (pid 25047) 357s
run: redis-exporter: (pid 26620) 73s; run: log: (pid 25575) 201s
run: sidekiq: (pid 25423) 243s; run: log: (pid 25435) 239s

Para detener el GitLab, ejecuta el siguiente comando:

gitlab-ctl stop

Para iniciar el GitLab, ejecuta el siguiente comando:

gitlab-ctl start

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar el cortafuegos

A continuación, tendrás que permitir el servicio HTTP a través del firewalld. Puedes permitirlo con el siguiente comando:

firewall-cmd --permanent --add-service=http

A continuación, recarga el demonio firewalld para aplicar los cambios:

systemctl reload firewalld

Una vez configurado el cortafuegos, puedes pasar al siguiente paso.

Acceder a GitLab CE

Antes de acceder a GitLab CE, recupera la contraseña de root de GitLab con el siguiente comando:

cat /etc/gitlab/initial_root_password

Deberías ver la contraseña raíz de GitLab CE en la siguiente salida:

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: XIlQ4/J7oQ49ZdNuGZto3f5vEJGHZJSTRSIuYL9z0/k=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Ahora, abre tu navegador web y accede a la interfaz web de GitLab utilizando la URL http://gitlab.example.com. Serás redirigido a la página de inicio de sesión de GitLab:

Acceso a GitLab

Proporciona tu nombre de usuario y contraseña de root, y haz clic en el botón Iniciar sesión. Deberías ver la interfaz web de GitLab en la siguiente página:

Panel de control de Gitlab

Configurar la copia de seguridad de GitLab

GitLab también te permite crear una copia de seguridad de la instancia de GitLab. Para crear una copia de seguridad de la instancia de GitLab, ejecuta el siguiente comando:

gitlab-rake gitlab:backup:create

Una vez creada la copia de seguridad, obtendrás la siguiente salida:

2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping uploads ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping builds ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping artifacts ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping pages ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping lfs objects ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping terraform states ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping container registry images ... 
2022-03-11 11:13:11 +0000 -- [DISABLED]
2022-03-11 11:13:11 +0000 -- Dumping packages ... 
2022-03-11 11:13:11 +0000 -- done
Creating backup archive: 1646997191_2022_03_11_14.8.2_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done

Por defecto, la copia de seguridad de GitLab se almacena en /var/opt/gitlab/backups. Puedes cambiar la ruta de la copia de seguridad editando los ajustes en el archivo de configuración de GitLab en /etc/gitlab/gitlab.rb.

Puedes verificar la copia de seguridad generada utilizando el siguiente comando:

ls /var/opt/gitlab/backups

Obtendrás la siguiente salida:

1646997191_2022_03_11_14.8.2_gitlab_backup.tar

Restablecer la contraseña raíz de GitLab

Si has olvidado la contraseña de administrador de GitLab, puedes restablecerla fácilmente con el siguiente comando:

gitlab-rake "gitlab:password:reset"

Se te pedirá que establezcas tu nueva contraseña como se muestra a continuación:

Enter username: root
Enter password: 
Confirm password: 
Password successfully updated for user with username root.

Conclusión

Enhorabuena! has instalado con éxito GitLab CE en Alma Linux 8. Ahora puedes empezar a utilizar GitLab en tu entorno de desarrollo. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...