Bloc Try-catch dans Jenkins pipeline script
Je suis en train d'utiliser le code suivant pour exécuter construit, et à la fin, exécuter la post-construire des actions lors de la génération a été couronnée de succès. Toujours, je reçois un MultipleCompilationErrorsException, en disant que mon bloc try n'est Pas une définition de la coupe. S'il vous plaît aider, j'ai essayé beaucoup de réorganiser le bloc, mais ne pouvez pas semblent être en mesure de résoudre le problème.
#!/usr/bin/env groovy
pipeline{
agent any
try {
stages{
stage("Parallel 1") {
steps {
parallel (
'firstTask' : {
build( "DSL-Controll-Demo-Fibonacci-1" )
},
'secondTask' : {
build( "DSL-Controll-Demo-Fibonacci-2" )
}
)
}
}
stage("Feature") {
steps {
build( "DSL-Controll-Demo-Fibonacci-5" )
build( "DSL-Controll-Demo-Fibonacci-6" )
}
}
stage("Parallel 2") {
steps{
parallel (
"thirdTask" : {
build( "DSL-Controll-Demo-Fibonacci-3" )
},
"forthTask" : {
build( "DSL-Controll-Demo-Fibonacci-4" )
}
)
}
}
}
}
catch(all) {
currentBuild.result = 'FAILURE'
}
if(currentBuild.result != 'FAILURE') {
stages{
stage("Post Build") {
steps {
build("DSL-Controll-Demo-Fibonacci-7")
}
}
}
}
}
OriginalL'auteur lenkovi | 2017-05-16
Vous devez vous connecter pour publier un commentaire.
Vous êtes en utilisant le style déclaratif de la spécification de votre pipeline, de sorte que vous ne devez pas utiliser les blocs try/catch (qui sont par Script Pipelines), mais le post de la section. Voir: https://jenkins.io/doc/book/pipeline/syntax/#post-conditions
OriginalL'auteur Mike
essayez comme ceci (sans mauvais jeu de mots btw)
La clé est de mettre try...catch dans un bloc de script dans déclarative pipeline de la syntaxe. Ensuite, il sera. Cela peut être utile si vous souhaitez continuer pipeline d'exécution en dépit de l'échec (par exemple: test a échoué, encore besoin de vous les rapports..)
OriginalL'auteur Ciado