GitLab es una potente plataforma basada en web para el control de versiones y la colaboración DevOps. Permite a los desarrolladores gestionar y realizar un seguimiento de sus repositorios de código fuente, colaborar con los miembros del equipo y automatizar varios procesos DevOps.
En este tutorial, aprenderemos a cómo instalar GitLab CE (Community Edition) en Debian 12 (Bookworm) paso a paso.
Requisitos previos
Antes de empezar, nos tenemos que asegurar de que disponemos de lo siguiente:
- Un servidor con Debian 12 con acceso SSH.
- Un mínimo de 8 GB de RAM.
- 20 GB de espacio en disco duro.
- Un nombre de dominio válido apuntando a la dirección IP del servidor.
- Usuario con permisos sudo.
Actualizamos el sistema
Para empezar, accedemos al servidor Debian usando SSH con el usuario sudo y ejecutamos el siguiente comando para actualizar las listas de paquetes de su sistema.
apt update
apt upgrade -yInstalación de las dependencias
Para poder instalar GitLab necesitamos instalar estos paquetes:
apt install wget ca-certificates curl apt-transport-https gnupg2 -yTambién tendremos que configurar las siguientes variables de entorno para que PostgreSQL funcione correctamente:
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"Instalación de GitLab CE
Una vez instalados todos los prerrequisitos, el siguiente paso es instalar Gitlab. Afortunadamente, Gitlab proporciona un script automatizado que se encarga de la instalación de Gitlab, incluyendo la adición del repositorio de Gitlab y la importación de la clave GPG.
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashE instalamos el paquete:
EXTERNAL_URL="http://your-gitlab-domain.com" apt install gitlab-ce -yyour-gitlab-domain.com por el nombre de dominio que has configurado anteriormenteCuando finalice todo el proceso veremos lo siguiente:
gitlab Reconfigured!
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab should be available at http://gitlab.voidnull.esConfiguración de GitLab CE
Para configurar tu instalación de GitLab, necesitarás editar el archivo github.rb como se indica en la salida del resumen.
nano /etc/gitlab/gitlab.rbRealizaremos los cambios necesarios, como ajustar la configuración del correo electrónico o configurar la integración CI/CD.
Para aplicar los cambios de configuración e iniciar GitLab, ejecuta el siguiente comando:
gitlab-ctl reconfigureAcceder a la interfaz web
Todos los pasos para una instalación básica de GitLab están completos. El siguiente paso es iniciar sesión en la interfaz web utilizando las credenciales de root.
Por defecto, Gitlab crea un usuario y la contraseña la podemos visualizar en el siguiente fichero:
cat /etc/gitlab/initial_root_passwordAccedemos con un navegador web a la URL que hemos configurado a GitLab y ponemos el usuario root y la contraseña que aparece en el fichero:

Cambiar contraseña root
Para cambiar la contraseña de root, deberemos de ir al ícono de perfil y luego Edit profile y luego iremos a Password:

Y cambiamos la contraseña:

Instalar certificado SSL
Otro paso que deberías considerar es securizar tu instancia de GitLab con un certificado SSL para cifrar el tráfico transmitido de un lado a otro. Puedes conseguirlo fácilmente utilizando el certificado SSL Let's Encrypt.
La configuración de GitLab soporta Let's Encrypt y, en este paso, configuraremos nuestra instancia de Gitlab para usar Let's Encrypt SSL para conexiones seguras.
Editamos la configuración de GitLab:
nano /etc/gitlab/gitlab.rbY buscamos las siguientes líneas para descomentarlas:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['NUESTROEMAIL']
letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
letsencrypt['auto_renew'] = trueAdemás, podemos definir la hora y el día del mes de la renovación automática de la siguiente manera:
letsencrypt['auto_renew_hour'] = 5
letsencrypt['auto_renew_day_of_month'] = "*/6"Además, configuramos la URL para que utilice el protocolo HTTPS en lugar de HTTP:
external_url 'https://gitlab.voidnull.es'Guardamos el fichero de configuración y aplicamos los cambios:
gitlab-ctl reconfigurePara comprobar que todo ha ido según lo previsto, podemos ejecutar el siguiente comando:
gitlab-rake gitlab:checkAhora con todo esto, ya deberíamos de poder acceder a nuestra instancia de GitLab con HTTPS.
Comentarios