當有新的提交時,我們有一個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