Eu tenho um trabalho que criará arquivos, a menos que um dos valores que está sendo alimentado corresponda a um valor mais antigo. Qual é a maneira mais limpa em Jenkins de abortar ou sair do trabalho, sem que seja FAILED
? A saída é o comportamento correto, por isso quero que a compilação seja marcada SUCCESS
.
Terminará em uma declaração if;
stage ('Check value') {
if( $VALUE1 == $VALUE2 ) {
//if they do match exit as a success, else continue with the rest of the job
}
}
Eu não quero lançar um código de erro, a menos que isso possa de alguma forma se traduzir para ser marcado como uma compilação bem-sucedida.
exit 0
...return 0
, apesar de todo o código do groovy que não gera uma exceção, devo pensar. Vou deixar que alguém com mais de fundo sobre Jenkins 2 confirmam ou doentesRespostas:
Descobri isso. Fora de qualquer estágio (caso contrário, isso acabará com o estágio específico como um sucesso), faça o seguinte;
return
interromperá o estágio ou o nó em que você está executando, e é por isso que é importante executá-lo fora de um estágio, enquanto a definição decurrentBuild.result
impede que ele falhe.fonte
Você também pode usar error para sair do estágio atual e não precisar considerar a hierarquia do estágio atual e coisas semelhantes:
Mas isso levaria a um estágio vermelho, se o erro ocorrer dentro de um estágio.
Depende dos seus requisitos, de que maneira você deseja usar.
fonte
RuntimeException
que jogar em vez de precisar capturar todas as exceções e verifique uma bandeiraHonestamente, você não precisa usar o comando exit especificamente, mas há um plug-in BuildStep condicional que pode alcançar o mesmo resultado final (código que não é executado).
Ainda não me deparei com isso, então não usei o plugin.
Também existem condicionais, conforme encontrado nesta publicação anterior do Stack Overflow no Jenkins: Etapa / estágio condicional do pipeline do Jenkins
fonte
exit
comando literal " - se assim for, peço desculpas, esse é o meu mal-entendido.O
Executor.interrupt(Result)
método é a maneira mais direta e limpa de interromper uma construção prematuramente e marcá-la como um sucesso.Prós :
Contras :
fonte