Ú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-rsaY también sus repositorios:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bashSi 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-ceSi no y queremos configurar unos certificados autofirmados, tan solo ejecutamos:
apt install gitlab-cePara 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.crtchmod 755 /etc/gitlab/sslEditaremos el fichero de configuración indicándole el fqdn del servidor:
nano /etc/gitlab/gitlab.rbBuscando 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 reconfigureCuando 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:latestPara 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.
