GitLab es un repositorio de código gratuito y de código abierto basado en la web para el desarrollo de software colaborativo para DevOps, escrito en los lenguajes de programación Ruby y Go. El lema principal de GitLab es “Aporta velocidad con confianza, seguridad sin sacrificios y visibilidad del éxito de DevOps”. Es una alternativa bastante popular a GitHub que proporciona características de wiki, seguimiento de problemas e integración continua y canalización de implementación, utilizando una licencia de código abierto, desarrollada por GitLab Inc.
En el siguiente tutorial, aprenderá cómo instalar y configurar GitLab en su escritorio o servidor Debian 11 Bullseye , junto con cómo comenzar iniciando sesión con root para que pueda comenzar a configurar GitLab a su gusto o para los requisitos de su equipo.
Requisitos
- SO recomendado: Diana de Debian 11.
- Cuenta de usuario: Una cuenta de usuario con sudo o acceso root.
Actualizar sistema operativo
Actualice su Debian sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:
sudo apt update && sudo apt upgrade -y
El tutorial usará el comando sudo y asumiendo que tiene estado sudo .
Para verificar el estado de sudo en su cuenta:
sudo whoami
Ejemplo de salida que muestra el estado de sudo:
[joshua@debian~]$ sudo whoami
root
Para configurar una cuenta Sudo existente o nueva, visite nuestro tutorial sobre Agregar un usuario a Sudoers en Debian .
Para usar la cuenta raíz , use el siguiente comando con la contraseña de root para iniciar sesión.
su
El tutorial utilizará la terminal para la instalación que se encuentra en Actividades> Mostrar aplicaciones> Terminal.
Ejemplo:
Instalar dependencias para GitLab
Antes de instalar GitLab en su sistema operativo Debian 11 Bullseye, deberá instalar las dependencias para poder instalar y operar GitLab.
Abre tu terminal y ejecuta el siguiente comando:
sudo apt install curl ca-certificates apt-transport-https gnupg2 -y
Crear e importar repositorio de GitLab
De forma predeterminada, GitLab no viene empaquetado en los repositorios predeterminados de Debian 11, y esto significa que deberá crear uno manualmente. Sin embargo, GitLab ha creado un script APT útil para que lo descargues y lo ejecutes para ayudarte en esta tarea.
Descargue el script APT de GitLab usando el comando curl :
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
Ejemplo de salida del script:
Ahora ejecute el comando apt update para verificar y sincronizar el nuevo repositorio.
sudo apt update
Tenga en cuenta que esto puede cambiar en el futuro y el tutorial se actualizará cuando esto ocurra.
Instalar Gitlab
La siguiente parte del tutorial es instalar GitLab, y ya debería haber usado el comando apt update para sincronizar el repositorio recién creado y modificado. Ahora ejecute el comando de instalación usando lo siguiente:
sudo apt install gitlab-ce
Ejemplo de resultados y dependencias que se instalarán en GitLab:
Tipo Y, luego presione la TECLA ENTER para continuar con la instalación.
Tenga en cuenta que el tamaño de la instalación es de 2,5 GB , por lo que las conexiones a Internet lentas podrían esperar un tiempo para completar la descarga y la instalación.
Una vez que se complete la instalación, debería obtener el siguiente resultado en su terminal.
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
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 min
ute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnib
us&release=14-3
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for ufw (0.36-7.1) ...
Cómo configurar GitLab
Con GitLab instalado, ahora puede configurar SSL, el nombre de dominio o las contraseñas del nombre del subdominio, y mucho más. El tutorial repasará las opciones básicas de configuración que se deben realizar. Sin embargo, puede realizar configuraciones alternativas a las que se enumeran a continuación.
Primero, abra el “gitlab.rb” archivo de configuración usando cualquier editor de texto:
sudo nano nano /etc/gitlab/gitlab.rb
La primera configuración será configurar el dominio, navegar hasta la línea 36 y encontrar lo siguiente.
external_url 'https://gitlab.linuxcapable.com'
Cambie esto a su nombre de subdominio.
Ejemplo:
A continuación, configure TLS/SSL con Let's Encrypt, que comienza en 2297.
De forma predeterminada, todas las configuraciones se comentan con "#". Deberá descomentar las siguientes líneas.
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 4
letsencrypt['auto_renew_day_of_month'] = "*/4"
letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
Ejemplo:
Una vez hecho esto, CTRL+O luego sale del archivo con CTRL+X .
Ahora ejecute el comando de reconfiguración de la siguiente manera.
sudo gitlab-ctl reconfigure
Al final, recibirás el siguiente mensaje en tu terminal.
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.
Running handlers complete
Chef Infra Client failed. 218 resources updated in 41 seconds
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.
Para ver la raíz (GitLab) contraseña, ejecute el siguiente comando.
cat /etc/gitlab/initial_root_password
Ejemplo de 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: SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
Como arriba, puede ver que la contraseña es “SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=” y que este archivo se eliminará automáticamente en 24 horas.
Cómo acceder a GitLab
Ahora que el backend está configurado, es hora de iniciar sesión y ver su GitLab.
Primero, abra la ruta del dominio donde se asignó GitLab en el archivo de configuración.
Ejemplo:
https://gitlab.example.com
A continuación, inicie sesión con el nombre de usuario “root” y la contraseña que recibiste, que en el caso del tutorial era “SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=” .
Ejemplo:
Ha iniciado sesión con éxito como la cuenta raíz y accederá a la página de destino predeterminada.
Ejemplo:
Desde aquí, puede proceder a instalar y configurar GitLab para que se adapte a sus requisitos o a su equipo. Una de las primeras cosas que debe hacer es ir a la sección de administración y configurar la seguridad, como 2FA, cambiar las contraseñas de root y mucho más antes de agregar miembros del equipo. Todo esto se puede encontrar haciendo clic en Menú> Admin en la parte superior izquierda esquina de la página.
Ejemplo:
Crear cronjob para la copia de seguridad automática de GitLab
De forma predeterminada, no se crean ni configuran copias de seguridad. Esto debe configurarse mediante un cronjob, y la frecuencia debe establecer un valor que se adapte a su disponibilidad de recursos y la frecuencia de los cambios de GitLab.
Primero, abre tu crontab.
sudo crontab -e
A continuación, agregue el siguiente ejemplo y modifique el tiempo para que se ajuste a sus necesidades. Si no está seguro del momento, visite crontab.guru.
00 */3 * * * gitlab-rake gitlab:backup:create
Lo anterior crea una copia de seguridad cada 3 horas exactamente.
Ejemplo:
Una vez hecho esto, CTRL+O luego sale del archivo con CTRL+X .
Alternativamente, puede ejecutar la tarea manualmente ejecutando el siguiente comando.
sudo gitlab-rake gitlab:backup:create
Una vez que se haya completado la copia de seguridad, recibirá el siguiente mensaje en su terminal.
Backup task is done.