web-dev-qa-db-fra.com

Pipeline Jenkins scripté: continue en cas d'échec

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.

5
user2988257

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.

14
StephenKing
  post {
    always {
      cleanWs()
    }
  }
}

Toujours nettoyer le travail même si le reste échoue

0
Chris Welsh