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:
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:
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.