post支持根据stage核pipeline执行的结果而进行特定处理,但在post根据stage结果执行指定操作时有深坑。
场景:
某个stage失败不影响整体pipeline运行,只需要在stage失败时邮件通知相关人员即可。
思路:
stage中设置catchError和post,当steps运行失败时,将stageResult设置为失败,通过post发送失败邮件通知。
结果:steps执行失败时,catchError将stageResult设置为失败,但failurepost没有触发
解决方案:
在failurepost前需要加一个always触发post。
pipeline {
agent any
environment{
toEmailUser='zhenzhen.wu'
}
stages {
stage('Build') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE&#