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.