当有新的提交时,我们有一个Jenkins作业构建除master以外的每个分支。这个行为可以通过git插件的'选择策略:反向'来配置,以便它监听除了指定分支以外的每个分支。如何检索使用逆分支选择策略时由Jenkins构建的git分支名称?
这个功能非常好。但问题是GIT_BRANCH环境变量总是引用被排除的分支(在我们的例子中是'origin/master')。如何查询由Jenkins构建的实际分支?
目前我正在使用一种解决方法,从生成的changelog.xml中grep它。但是当Jenkins在不同的分支之间切换时,有时候changelog.xml是空的,我找不到这个信息。从Jenkins检索/查询实际构建的分支的正确方法是什么?
谢谢Charles。这在正常的git工作区中工作,但不在jenkins工作区,其中命令不返回任何内容。在jenkins工作区运行'git分支'给出'*(无分支)'。可能选择的分支必须以某种方式从Jenkins中查询,因为它似乎根据所选分支中的commit-id进行结帐。 – harish 2013-02-22 08:10:08
是的,詹金斯在独立头部工作。看到我的编辑和链接的答案。我确信其中的一个命令应该可以工作。 – CharlesB 2013-02-22 08:55:34
该命令适用于CMD,但不适用于我的Jenkins,为什么? C:\ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace> git --version git version 2.7.0.windows。1 C:\ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace> git symbolic-ref -q --short HEAD C:\ Tools \ Jenkins \ jobs \ DevOps \ jobs \ Test-GitHub \ workspace >退出1 构建步骤'执行Windows批处理命令'标记为失败 完成:FAILURE – 2016-03-03 16:16:40