GitLab CE: Instalación

Imagen destacada de GitLab CE: Instalación

Últimamente estoy desarrollando mi propio flujo de trabajo. Y aunque aún me falta, quisiera integrarlo en un ambiente DevOps con GitLab CE en mi servidor de trabajo.

GitLab parece que aparte de ser un lugar donde guardar y compartir tus repositorios también es una completa plataforma DevOps. Pudiendo crear tus propios Docker en ella, montar un registry, tareas para runners y desplegar tus apps y un largo etc.

Por lo que en un futuro articulo me enfocare en la experiencia final, de como se integra todo y si realmente es lo que busco para automatizar lo automatizable.

Mientras tanto, escribiré aquí como se realiza una instalación con certificados autofirmados en debian 10 y también lo propio usando Docker.

No es muy complicado, realmente cada vez facilitan más la tarea. Por lo que siguiendo los pasos indicados en la documentación oficial, comenzaremos por instalar dependencias necesarias:

apt install -y curl openssh-server ca-certificates postfix easy-rsa

Y también sus repositorios:

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

Si quisiéramos una instalación con certificados automáticos de Let’s Encrypt, ejecutaríamos el siguiente comando teniendo en cuenta de que el servidor entonces tendrá que estar accesible desde internet:

EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ce

Si no y queremos configurar unos certificados autofirmados, tan solo ejecutamos:

apt install gitlab-ce

Para la configuración manual crearemos su directorio, generaremos unos certificados nuevos y le daremos los permisos adecuados:

mkdir -p /etc/gitlab/ssl && cd /etc/gitlab/ssl/
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout gitlab.example.com.key -out gitlab.example.com.crt
chmod 755 /etc/gitlab/ssl

Editaremos el fichero de configuración indicándole el fqdn del servidor:

nano /etc/gitlab/gitlab.rb

Buscando la linea siguiente y dejándola con tu fdqn:

external_url "https://gitlab.example.com"

Por último ya solo falta ejecutar la configuración del Gitlab para que lo configure y levante finalmente:

gitlab-ctl reconfigure

Cuando termine si todo salio bien nos indicara que ya está disponible y que la primera visita a la url seteara el password root de la instancia.

En cuanto a su instalación como contenedor Docker, aún más sencillo:

docker run --detach --hostname gitlab.example.com --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com'; gitlab_rails['lfs_enabled'] = true;" --publish 443:443 --publish 80:80 --publish 222:22 --name migitlab --restart always --volume /ruta/guardar/config:/etc/gitlab --volume /ruta/guardar/logs:/var/log/gitlab --volume /ruta/guardar/data:/var/opt/gitlab gitlab/gitlab-ce:latest

Para más info pelearse con su documentación en Docs-GitLab y en docker-hub. Por lo demás veremos que tal es GitLab y si hay amor.

Saludosss.