jenkins - 用于条件构建后步骤的 Jenkinsfile 声明性语法
问题描述
我有一个用于多分支管道的 Jenkinsfile,如下所示:
pipeline {
agent any
stages {
// ...
}
post {
failure {
mail to: 'team@example.com',
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
body: "Something is wrong with ${env.BUILD_URL}"
}
}
}
我只想为主分支上的故障发送电子邮件。有没有办法使邮件步骤有条件?根据文档,when
指令只能在stage
.
解决方案
就像您在仅在舞台内工作时所指出的那样。并且只有有效的step可以在后置条件中使用。您仍然可以在脚本块内使用脚本语法,并且脚本块是有效的步骤。因此,您应该能够在脚本块内使用if来获得所需的行为。
...
post {
failure {
script {
if (env.BRANCH_NAME == 'master') {
... # your code here
}
}
}
}
}
推荐阅读
- javascript - 如何在不重复的情况下显示随机问题
- upload - Upload audio file to Jodit
- tcp - 重新连接 TCP 发送握手的 Spring 集成
- python - adding an auth check to github webhooks using flask + python3
- perl - DBD::SQLcipher prepare 和 PRAGMA 都在工作
- vue.js - 我可以在 beforeCreate() 中定义一个变量吗?
- javascript - 变量值未保存在函数中
- javascript - 如何防止切换类在香草JS中进入页面顶部?
- java - 服务器抛出损坏的管道异常
- java - 如何为具有定义长度的十进制正则表达式(包括逗号)