web-dev-qa-db-fra.com

Exécution d'un script Post Build lorsqu'un travail Jenkins est abandonné

Existe-t-il un moyen/plugin capable d'exécuter un script post-build lorsqu'un travail Jenkins est interrompu ... Je constate que le plug-in post-build fournit une action permettant d'exécuter un ensemble de scripts, mais ceux-ci ne peuvent être exécutés que sur options soit un travail réussi ou un travail échoué.

18
Jose

Cette question a une réponse positive ici .

Le Post Build Task plugin est exécuté même si un travail est annulé.

Utilisez-le pour rechercher dans le texte du journal "La construction a été abandonnée" et vous pouvez spécifier un script Shell à exécuter.

Fonctionne comme un charme. :-)

21
tim

Autant que je sache, si une construction est abandonnée, il n'y a plus moyen d'exécuter une étape de construction (ou une étape de post-construction) - ce qui est logique, c'est ce que j'attendrais de "abandonner".

Ce que vous pouvez faire est de créer un autre travail qui surveille le statut du premier et déclenche son abandon (par exemple, voir BuildResultTrigger plugin).

Une autre solution pourrait être de créer un travail "wrapper", qui appelle le premier en tant qu'étape de construction. Ainsi, vous pourrez exécuter des étapes supplémentaires une fois son exécution terminée, comme pour vérifier son statut, même s'il a été abandonné.

2
Akos Bannerth

Si vous utilisez un pipeline scripté, vous pouvez toujours utiliser un ensemble try/catch/finally, où la construction est exécutée dans le bloc try et les étapes post-construction sont dans le bloc finally. De cette façon, même si la construction échoue, les étapes post-construction sont exécutées.

try {
build here

} catch (FlowInterruptedException interruptionEx) {

catch exception here

} enfin {

postBuild(parameters)

}

0
anuj0901