Jenkins 管道 运行 阶段失败
Jenkins Pipeline Run Stage On Failure
我的 Jenkins 管道脚本有很多 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')
}
}
要通知管道中任何阶段的故障,请使用 post actions。
对于每个管道结果,您可以设置一些 post 操作。
不成功示例(任何未以 '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')
}
}
我的 Jenkins 管道脚本有很多 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')
}
}
要通知管道中任何阶段的故障,请使用 post actions。 对于每个管道结果,您可以设置一些 post 操作。
不成功示例(任何未以 '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')
}
}