首页
学习
活动
专区
圈层
工具
发布

Jenkins pipeline 3 -- post 部分

post 钩子

post 步骤在Jenkins pipeline语法中是可选的,包含的是整个pipeline或阶段完成后一些附加的步骤。 比如我们希望整个pipeline执行完成之后或pipeline的某个stage执行成功后发生一封邮件,就可以使用post,可以理解为”钩子“。

根据pipeline或阶段的完成状态,post部分分成多种条件块,包括: • always:不论当前完成状态是什么,都执行。 • changed:只要当前完成状态与上一次完成状态不同就执行。 • fixed:上一次完成状态为失败或不稳定(unstable),当前完成状态为成功时执行。 • regression:上一次完成状态为成功,当前完成状态为失败、不稳定或中止(aborted)时执行。 • aborted:当前执行结果是中止状态时(一般为人为中止)执行。 • failure:当前完成状态为失败时执行。 • success:当前完成状态为成功时执行。 • unstable:当前完成状态为不稳定时执行。 • cleanup:清理条件块。不论当前完成状态是什么,在其他所有条件块执行完成后都执行。post部分可以同时包含多种条件块。

以下是 post 部分的完整示例

代码语言:javascript
复制
pipeline {
  agent any
  stages {
     stage('build') {
       steps {
         echo "build stage"
       } 
      post {
        always {
          echo 'stage post always'
        }
      }
     }
  }

  post {
    changed {
       echo 'pipeline post changed'
    }
    always {
       echo 'pipeline post always'
    }
    success {
       echo 'pipeline post success'
    }
    // 省略其他条件块
  }
}

参考

https://jenkins.io/zh/doc/book/pipeline/syntax/#post

下一篇
举报
领券