Jenkins管道运行阶段出现故障



我的Jenkins pipline脚本有很多try/catch块,当出现故障时会通知我。有没有可能有一个只有在前一个阶段失败时才会运行的阶段?

我当前的脚本看起来像这样。

stage('Stage 1') {
steps {
try {
// do something
}
catch(Exception e) {
bitbucketStatusNotify(buildState: 'FAILED')
error 'FAILED'
}
}
}
stage('Stage 2') {
steps {
try {
// do something
}
catch(Exception e) {
bitbucketStatusNotify(buildState: 'FAILED')
error 'FAILED'
}
}
}
stage('Stage 3') {
steps {
try {
// do something
}
catch(Exception e) {
bitbucketStatusNotify(buildState: 'FAILED')
error 'FAILED'
}
}
}

我想做这样的事。

stage('Stage 1') {
steps {
// do something
}
}
stage('Stage 2') {
steps {
// do something
}
}
stage('Stage 3') {
steps {
// do something
}
}
stage('Only Run On Failure') {
steps {
bitbucketStatusNotify(buildState: 'FAILED')
}
}

要通知管道中任何阶段的失败,请使用后期操作。对于每个管道结果,您可以设置一些后期操作。

不成功的示例(任何未以"SUCCESS"结果结束的生成(:

stages{
stage('Stage 1') {
steps {
// do something
}
}
stage('Stage 2') {
steps {
// do something
}
}
stage('Stage 3') {
steps {
// do something
}  
}
post{
success{
bitbucketStatusNotify(buildState: 'SUCCESS')
} 
unsuccessful{
bitbucketStatusNotify(buildState: 'FAILED')
}    
}

最新更新