仅当不是功能分支或请求请求时,才在Jenkins声明性管道中执行步骤

时间:2020-08-07 07:22:30

标签: jenkins jenkins-pipeline

仅当给定的构建不是功能分支或拉取请求时,我才希望在Jenkins声明性管道中执行某个步骤,以便在所有其他分支和拉取请求上触发该阶段。

在我们的示例中,功能分支以前缀feature/开头,根据this Jenkins wiki page,可以通过环境变量CHANGE_ID确定拉取请求,该环境变量仅填充拉取请求

基于此,我想出了以下方法:

stage("My stage") {
    when {
        expression {
            boolean isPullRequest = env.CHANGE_ID
            boolean isFeatureBranch = env.BRANCH_NAME ==~ 'feature/.*'
            return isPullRequest || !isFeatureBranch
        }
    }
    steps {
        // Do something
    }
}

我想知道(a)这是否正确,(b)是否有更简洁的方法?

0 个答案:

没有答案