Chr*_*don 51 jenkins jenkins-plugins jenkins-pipeline
我是Jenkins Pipeline插件的新手,尤其是multibranch管道插件的新手.在标准版本中,我可以访问$ GIT_BRANCH变量来了解正在构建的分支.但是,该变量未在multibranch管道中设置.我也尝试了env.GIT_BRANCH,并尝试将$ GIT_BRANCH作为参数传递给构建.似乎没什么用.我假设,因为构建知道正在构建的分支(我可以看到控制台输出顶部的分支名称,我可以使用的东西,我只是找不到任何引用它.
这是一个为什么这很重要的例子.我们正在使用gitflow模式.我们有dev,release和master分支,它们都用于创建工件.dev分支自动部署,另外两个没有.还有功能,错误修复和修补程序分支.应该构建这些分支,但不会产生伪像.如果他们的代码有问题,他们应该只是用来通知开发人员.我需要知道正在构建哪个分支才能运行正确的步骤.
任何帮助,将不胜感激.
Krz*_*soń 88
该env.BRANCH_NAME变量包含分支名称.
从Pipeline Groovy插件2.18开始,您也可以使用BRANCH_NAME
(env不是必需的,但仍然可以使用).
Jes*_*ick 10
目前还没有专用变量(JENKINS-30252).在此期间,您可以利用子项目名称取自分支名称并使用的事实
env.JOB_NAME.replaceFirst('.+/', '')
Run Code Online (Sandbox Code Playgroud)
现在已经解决了,请参阅KrzysztofKrasoń的回答.
Dav*_*wer 10
在 Jenkins 多分支管道作业中需要考虑 2 个分支:
env.BRANCH_NAME. 这可能与 git 分支同名,但也可能称为 PR-123 或类似名称env.GIT_BRANCH. 这是 git 中实际的分支名称。因此,作业可能具有 BRANCH_NAME=PR-123 和 GIT_BRANCH=my-scm-branch-name
| 归档时间: |
|
| 查看次数: |
61074 次 |
| 最近记录: |