Una de las cosas
que tiene GitLab y no todo el mundo conoce es la posibilidad de tener un
container registry para almacenar nuestras imágenes de Docker. Un container
registry son repositorios para las imágenes de tus contenedores. Estos no son
contenedores de ejecución sino solo imágenes (datos sin formato) que se
encuentran en la instancia remota de GitLab.
¿Por
qué necesito un registro de contenedores en GitLab?
Lo más probable es
que tu aplicación esté empaquetada como una única imagen de Docker o una
colección de varias imágenes. Esto significa que las diferentes versiones se
asociarán con diferentes imágenes y el registro del contenedor te ayudará a
realizar un seguimiento de ellas individualmente, así como a ver cuáles se
agruparán en una versión en particular.
Requisitos
Una instancia de GitLab en funcionamiento a
través de HTTP (Idealmente debería ser a traves de HTTPS)
Acceso root a la instancia u container
donde se ejecuta GitLab
Acceso para modificar los registros DNS de
tu nombre de dominio
Para esta demostración, vamos a asumir que
nuestro GitLab se está ejecutando en gitlab.cloudlegion.com.ar
Registro de certificados DNS y TLS.
Tenes que ser usuario root para habilitar
la función de registro de contenedores en la instancia de GitLab. Los usuarios
individuales pueden elegir usar esta función en sus respectivos proyectos, si
así lo desean. Para hacerlo:
Apunta el otro nombre de dominio, digamos, registry.gitab.cloudlegion.com.ar a la
misma dirección IP donde se ejecuta GitLab.
Agrega un registro DNS de tipo “A” para registry.gitab.cloudlegion.com.ar que
apunta a la misma IP donde se ejecuta tu instancia de GitLab.
Edita la configuración de GitLab, abrí el
archivo /etc/gitlab/gitlab.rb y modifica
las siguientes líneas indicadas:
registry_external_url
'https://registry.cloudlegion.com.ar'
### Settings used by GitLab application
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] =
"registry.cloudlegion.com.ar"
gitlab_rails['registry_port'] =
"443"
gitlab_rails['registry_path'] =
"/var/opt/gitlab/gitlab-rails/shared/registry"
Dado que el registro lo estamos configurando
a traves de HTTPS es necesario mapear el certificado SSL correspondiente en el
NGINX:
registry_nginx['ssl_certificate'] =
"/etc/gitlab/ssl/certificate.pem"
registry_nginx['ssl_certificate_key'] =
"/etc/gitlab/ssl/certificate.key"
Si todo está bien, con eso ya debería estar
habilitado el registro en GitLab, reconfiguramos mediante el siguiente comando,
O bien reiniciar el container donde se ejecuta GitLab.
sudo
gitlab-ctl reconfigure
Ahora que tenemos el registro habilitado,
si vamos a la configuracion del proyecto podremos ver el registro habilitado:
A continuacion vemos los comandos para hacer pull / push de nuestras imagenes
Espero que les sirva el tip


No hay comentarios.:
Publicar un comentario