我是Jenkins Pipeline插件的新手,尤其是multibranch管道插件的新手 . 在标准版本中,我可以访问$ GIT_BRANCH变量来了解正在构建的分支 . 但是,该变量未在multibranch管道中设置 . 我也尝试了env.GIT_BRANCH,并尝试将$ GIT_BRANCH作为参数传递给构建 . 似乎没什么用 . 我假设,因为构建知道正在构建的分支(我可以看到控制台输出顶部的分支名称,我可以使用的东西,我只是找不到任何引用它 .
这是一个为什么这很重要的例子 . 我们正在使用gitflow模式 . 我们有dev,release和master分支,它们都用于创建工件 . dev分支自动部署,另外两个没有 . 还有功能,错误修复和修补程序分支 . 应该构建这些分支,但不会产生伪像 . 如果他们的代码有问题,他们应该只是用来通知开发人员 . 我需要知道正在构建哪个分支才能运行正确的步骤 .
任何帮助,将不胜感激 .
3 回答
env.BRANCH_NAME
变量包含分支名称 .从Pipeline Groovy Plugin 2.18开始,您也可以使用
BRANCH_NAME
(env
不是必需的,但仍然可以使用 . )目前还没有专用变量(JENKINS-30252) . 在此期间,您可以利用子项目名称取自分支名称并使用的事实
env.JOB_NAME.replaceFirst(' . /','')
现在已经解决了这个问题,请参见Krzysztof Krasoń's answer .
我发现这个stackoverflow post示例很有用:Git Variables in Jenkins Workflow plugin