我们在詹金斯上有一个多分支管道。
我知道可以检查分支是否与名称匹配,例如
when {
branch "master"
}
不幸的是,我们的默认分支没有命名为 master,并且默认分支的名称会定期更改。
有没有办法在不检查名称的情况下检查给定分支是否是默认分支?
when {
branch is default
}
或者类似的东西?
提前致谢!
自 Branch API 插件 2.6.4 版本(5 月发布)以来,Jenkins 多分支管道现在可以访问a BRANCH_IS_PRIMARY环境变量 https://github.com/jenkinsci/branch-api-plugin/blob/master/src/main/resources/jenkins/branch/BranchNameContributor/buildEnv.properties#L24:
对于多分支项目,如果 SCM 源报告正在构建的分支是主分支,则这将设置为"true"
;否则未设置。
这意味着您现在可以这样做:
when {
expression { env.BRANCH_IS_PRIMARY }
}
请注意,您必须将其作为属性来访问env
或者使用字符串插值(即“$BRANCH_IS_PRIMARY”),因为BRANCH_IS_PRIMARY
可能未设置(参见讨论 https://github.com/jenkinsci/branch-api-plugin/pull/246#discussion_r623144258).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)