Abandonner la construction actuelle à partir du pipeline de Jenkins
J'ai un Jenkins pipeline qui a plusieurs étapes, par exemple:
node("nodename") {
stage("Checkout") {
git ....
}
stage("Check Preconditions") {
...
if(!continueBuild) {
//What do I put here? currentBuild.xxx ?
}
}
stage("Do a lot of work") {
....
}
}
Je veux être en mesure de l'annuler (pas l'échec), le construire, si certaines conditions préalables ne sont pas remplies et il n'y a pas de travail à faire. Comment puis-je faire cela? Je sais que le currentBuild
variable est disponible, mais je ne peux pas trouver de la documentation pour elle.
source d'informationauteur tmlye
Vous devez vous connecter pour publier un commentaire.
Vous pouvez marquer les construire comme ABANDONNÉ, et ensuite utiliser le
error
étape pour provoquer la génération d'arrêt:Dans la Vue de la Scène, ce sera montrer que la construction s'est arrêté à ce stade, mais la construire ensemble sera marqué comme abandonnée, plutôt que d'échec (voir l'icône de couleur grise pour construire n ° 9):
La suite de cette la documentation de Jenkins, vous devriez être en mesure de générer une erreur d'arrêter la construction et de définir le construire résultat de ce genre:
currentBuild.result = 'ABORTED'
Espère que ça aide.
Après quelques tests j'ai trouvé la solution suivante:
Cette volonté résultat dans l'étape suivante de la vue:
échec de la scène
Si vous n'aimez pas l'échec de l'étape, vous devez utiliser le retour. Mais sachez que vous avez à sauter chaque étape ou wrapper.
Le résultat:
d'erreur personnalisé comme indicateur
Vous pouvez également utiliser un message personnalisé au lieu d'une variable locale:
Pour arrêter de pipeline avec l' 'avorté', vous devez définir
currentBuild.result
à'ABORTED'
et puis arrêtez de pipeline d'exécution avecreturn
.