try / catch / finally masque les problèmes de Jenkinsfile en cas d'exception groovy du compilateur
J'ai un code similaire à celui-ci dans mon Jenkinsfile:
node {
checkout scm
//do some stuff
try {
//do some maven magic
} catch (error) {
stage "Cleanup after fail"
emailext attachLog: true, body: "Build failed (see ${env.BUILD_URL}): ${error}", subject: "[JENKINS] ${env.JOB_NAME} failed", to: '[email protected]'
throw error
} finally {
step $class: 'JUnitResultArchiver', testResults: '**/TEST-*.xml'
}
}
Si le code ci-dessus échoue à cause de certains jenkins-pipeline d'erreurs liées à la try { }
(en utilisant par exemple la non approuvés méthode statique) le script échoue silencieusement. Quand j'enlève le try/catch/finally je puisse voir les erreurs.
Suis-je en train de faire quelque chose de mal? Ne devrait pas le renvoi des error
faire le pipeline des erreurs apparaissent dans le journal?
EDIT:
J'ai réussi à clouer le problème de groovy de la syntaxe, par exemple quand j'utilise une variable qui n'a pas encore été attribué.
Exemple:
echo foo
Si foo
n'est pas déclaré/affecté n'importe où Jenkins va échouer le construire et ne montrera pas la raison si elle est à l'intérieur du try/catch/finally qui renvoie une exception.
source d'informationauteur Krzysztof Krasoń
Vous devez vous connecter pour publier un commentaire.
Ce qui arrive quand une exception est générée à l'intérieur de la
finally
bloc ou avant le lever de nouveau à l'intérieur decatch
. Dans ces cas, leRejectedAccessException
est d'ingestion et descript-security
ne pas l'attraper.