我的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')
}
}