
Registro 6 gitlab-runner y luego, cuando envío al servidor gitlab, ¿pipline solo ejecuta el primer gitlab-runner? ¿Por qué está pasando esto? Espero que la canalización se ejecute en 6 servidores. gracias.
Respuesta1
Este es un comportamiento bien conocido en los servicios ssh, pero como la implementación de sus herramientas no se describe en detalle, no tengo idea de si se trata de un problema similar.
Con ssh, el problema es que el servicio local supone que el servicio remoto leerá la entrada estándar de la máquina local. Por lo tanto, lee de forma preventiva los datos locales y envía un bloque al control remoto para mejorar su tiempo de inicio.
Si está en un bucle de llamadas remotas, eso absorbe toda la entrada del control del bucle y el segundo ciclo del bucle obtiene EOF.
La solución en ssh es (a) usar una opción -n para inhibir el envío de datos locales, o (b) redirigir la entrada ssh desde /dev/null para que no pueda leer de todos modos.
También puede colocar datos en el comando ssh como un eco, o canalizar su entrada desde un archivo u otro comando local, evitando así la entrada estándar local.
Debería poder ejecutar su git-lab-runner en strace para descubrir si está leyendo stdin inesperadamente.