gpt4 book ai didi

用于条件构建后步骤的 Jenkinsfile 声明性语法

转载 作者:行者123 更新时间:2023-12-02 11:18:25 25 4
gpt4 key购买 nike

我有一个用于多分支管道的 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条件中使用。您仍然可以在脚本 block 内使用脚本语法,并且脚本 block 是有效的步骤。因此,您应该能够在 script block 内使用 if 来获得所需的行为。

...
post {
failure {
script {
if (env.BRANCH_NAME == 'master') {
... # your code here
}
}
}
}
}

参见JENKINS-52689

关于用于条件构建后步骤的 Jenkinsfile 声明性语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53073407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com