steps - Jenkins continúa la tubería en la etapa fallida
jenkins pipeline tutorial (3)
Tengo una configuración de jenkins con un montón de tuberías. Escribí una nueva tubería que puede iniciar todas las tuberías a la vez. Me gustaría construir otras etapas, incluso si una de ellas falla.
El script actualmente se ve así
stage ''CentOS6''
build ''centos6.testing''
stage ''CentOS7''
build ''centos7.testing''
stage ''Debian7''
build ''debian7-x64.testing''
stage ''Debian8''
build ''debian8-x64.testing''
Los scripts de compilación contienen el nodo en el que deberían ejecutarse.
¿Cómo puede el script continuar con las siguientes etapas incluso si una de ellas falla?
Aclamaciones
Si se deben ejecutar en una secuencia, puedes hacer algo como esto:
def buildResult= ''success''
try{
build ''centos6.testing''
}catch(e){
buildResult = ''failure''
}
currentBuild.result = buildResult
Si deben ejecutarse en paralelo, simplemente ejecútelos: https://www.cloudbees.com/blog/parallelism-and-distributed-builds-jenkins
Si usa el paso parallel
, esto debería funcionar como espera de manera predeterminada, ya que la opción failFast
, que cancela el trabajo si falla cualquiera de las ramas paralelas, se establece de manera predeterminada en false
.
Por ejemplo:
parallel(
centos6: { build ''centos6.testing'' },
centos7: { build ''centos7.testing'' },
debian7: { build ''debian7-x64.testing'' },
debian8: { build ''debian8-x64.testing'' }
)
Lo que funcionó para mí:
''Task'' : {
build( job : "DemoJob-2", wait: false )
build( job : "DemoJob-3", wait: false )
}