Tengo un trabajo que creará archivos, a menos que uno de los valores que se le proporcione coincida con un valor anterior. ¿Cuál es la forma más limpia en Jenkins de abortar o salir del trabajo, sin que sea así FAILED
? Salir es el comportamiento correcto, así que quiero marcar la compilación SUCCESS
.
Terminará en una declaración if así;
stage ('Check value') {
if( $VALUE1 == $VALUE2 ) {
//if they do match exit as a success, else continue with the rest of the job
}
}
No quiero lanzar un código de error a menos que eso de alguna manera pueda traducirse en que se marque como una compilación exitosa.
exit 0
...return 0
, en general, cualquier extremo del código groovy que no arroje una excepción debería hacerlo, creo.Respuestas:
Lo averigué. Fuera de cualquier etapa (de lo contrario, esto solo terminará la etapa particular como un éxito) haga lo siguiente;
return
detendrá la etapa o el nodo en el que se está ejecutando, por lo que es importante ejecutarlo fuera de una etapa, mientras que la configuracióncurrentBuild.result
evita que falle.fuente
También puede usar el error para salir de la etapa actual, luego no tiene que considerar la jerarquía de la etapa actual y cosas similares:
Pero esto llevaría a una etapa roja, si el error ocurre dentro de una etapa.
Depende de sus requisitos, de qué manera desea usar.
fuente
RuntimeException
lanzar en lugar de tener que atrapar todas las excepciones y marcar una banderaHonestamente, no debería necesitar usar el comando de salida específicamente, pero hay un complemento condicional de BuildStep que puede lograr el mismo resultado final (código que no se ejecuta).
Todavía no me he encontrado con esto, así que no he usado el complemento.
También hay condicionales como se encuentran en esta publicación anterior de desbordamiento de pila en Jenkins: Jenkins Pipeline Conditional Step / Stage
fuente
exit
comando literal ". Si es así, me disculpo, ese es mi malentendido.El
Executor.interrupt(Result)
método es la forma más limpia y directa que pude encontrar para detener una compilación prematuramente y marcarla como un éxito.Pros :
Contras :
fuente