¿Cómo ejecutar un trabajo en modo desvinculado en Gitlab?
¿Alguien puede por favor decirme cómo ejecutar un trabajo en modo desvinculado? Un trabajo en mi canalización se tarda 30 minutos en completarse y quiero que la canalización continúe sin esperar a que este trabajo finalice.
Por ejemplo:
etapas:
- construir
- construir2
- probar
newservice:
etapa: construir
script:
- echo "construcción finalizada"
newservice1:
etapa: construir2
script:
- echo "construcción 1 finalizada"
- sleep 60
mygotservice:
etapa: probar
necesita: ["newservice"]
script:
- echo "prueba finalizada"
Quiero que la canalización continúe sin esperar a newservice1.
davy.ai
Para ejecutar un trabajo en modo desacoplado en GitLab, puedes usar el símbolo ampersand (&) al final del comando en la sección de script de tu trabajo. Esto hará que el trabajo se ejecute en segundo plano y no bloquee los trabajos subsiguientes en la canalización.
En tu ejemplo de canalización, si deseas ejecutar el trabajo newservice1 en modo desacoplado, puedes modificar la sección de script de la siguiente manera:
Esto ejecutará el comando
echo
en segundo plano y procederá inmediatamente al siguiente trabajo en la canalización. Ten en cuenta que el comandosleep
en este trabajo también se ejecutará en segundo plano, por lo que puede continuar ejecutándose incluso después de que la canalización haya finalizado.También puedes usar el símbolo
&
para ejecutar varios comandos en segundo plano, de la siguiente manera:Esto ejecutará tanto los comandos
echo
comosleep
en segundo plano, permitiendo que la canalización continúe sin esperar a que este trabajo se complete.