条件 post-构建步骤的 Jenkinsfile 声明语法
Jenkinsfile declarative syntax for conditional post-build step
我有一个用于多分支管道的 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
.
中使用
正如您所注意到的,当 仅在 阶段 内工作时。并且在 post 条件 中只能使用有效的 steps。
您仍然可以在 script 块中使用 scripted syntax,并且 script 块是有效的 步骤。因此,您应该能够在 script 块中使用 if 以获得所需的行为。
...
post {
failure {
script {
if (env.BRANCH_NAME == 'master') {
... # your code here
}
}
}
}
}
我有一个用于多分支管道的 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
.
正如您所注意到的,当 仅在 阶段 内工作时。并且在 post 条件 中只能使用有效的 steps。 您仍然可以在 script 块中使用 scripted syntax,并且 script 块是有效的 步骤。因此,您应该能够在 script 块中使用 if 以获得所需的行为。
...
post {
failure {
script {
if (env.BRANCH_NAME == 'master') {
... # your code here
}
}
}
}
}