Existe-t-il un moyen de poursuivre l'exécution du pipeline scripté même si l'étape précédente a échoué? J'ai besoin d'exécuter des commandes spécifiques (nettoyage) lorsque la construction échoue avant que le travail entier échoue.
L’approche habituelle consiste à envelopper vos étapes dans un bloc try
.
try {
sh "..."
} catch (err) {
echo "something failed"
}
// cleanup
sh "rm -rf *"
Pour alléger le problème et rendre le code de pipeline plus lisible, j'ai résumé cette méthode dans une autre méthode ici, dans le code de ma bibliothèque globale .
Une autre approche, en particulier C'est à cause de ce problème que les pipelines déclaratifs ( blog , presentation ) sont créés.
post {
always {
cleanWs()
}
}
}
Toujours nettoyer le travail même si le reste échoue