Saltar al contenido

Ejecutor de Gitlab-CI: ignorar el certificado autofirmado

Encontramos el arreglo a este rompecabezas, al menos eso esperamos. Si tienes alguna inquietud puedes dejar un comentario, para nosotros será un gusto ayudarte

Solución:

Según la respuesta de Wassim y la documentación de gitlab sobre los certificados tls-self-signed y custom CA-signed, esto es para ahorrar algo de tiempo si no es el administrador del servidor de gitlab sino solo del servidor con los corredores (y si el corredor se ejecuta como root):

SERVER=gitlab.example.com
PORT=443
CERTIFICATE=/etc/gitlab-runner/certs/$SERVER.crt

# Create the certificates hierarchy expected by gitlab
sudo mkdir -p $(dirname "$CERTIFICATE")

# Get the certificate in PEM format and store it
openssl s_client -connect $SERVER:$PORT -showcerts /dev/null | sed -e '/-----BEGIN/,/-----END/!d' | sudo tee "$CERTIFICATE" >/dev/null

# Register your runner
gitlab-runner register --tls-ca-file="$CERTIFICATE" [your other options]

Actualización 1:CERTIFICATE debe ser una ruta absoluta al archivo de certificado.

Actualización 2: aún podría fallar con la firma de CA personalizada debido al error n.º 2675 de gitlab-runner

En mi caso, lo hice funcionar agregando la ruta al archivo .pem de la siguiente manera:

sudo gitlab-runner register --tls-ca-file /my/path/gitlab/gitlab.myserver.com.pem

A menudo, los gitlab-runners se alojan en un contenedor docker. En ese caso, hay que asegurarse de que el tls-ca-file está disponible en el contenedor.

Ok, seguí paso a paso esta publicación http://moonlightbox.logdown.com/posts/2016/09/12/gitlab-ci-runner-register-x509-error y luego funcionó de maravilla. Para evitar un enlace muerto, copio los pasos a continuación:

Primero edite la configuración de ssl en el servidor de GitLab (no en el corredor)

vim /etc/pki/tls/openssl.cnf

[ v3_ca ]
subjectAltName=IP:192.168.1.1 <---- Add this line. 192.168.1.1 is your GitLab server IP.

Regenerar certificado autofirmado

cd /etc/gitlab/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/gitlab/ssl/192.168.1.1.key -out /etc/gitlab/ssl/192.168.1.1.crt
sudo openssl dhparam -out /etc/gitlab/ssl/dhparam.pem 2048
sudo gitlab-ctl restart

Copie la nueva CA en el corredor GitLab CI

scp /etc/gitlab/ssl/192.168.1.1.crt [email protected]:/etc/gitlab-runner/certs

Gracias @Moon Light @Wassim Dhif

Comentarios y valoraciones del tutorial

Si te gusta el tema, tienes la habilidad dejar una noticia acerca de qué le añadirías a esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *