2017-07-27 56 views
2

我們使用一個內部託管的github服務器用於我們的SCM,Jenkins用於我們的CI和Git-Flow(通過maven的jgitflow插件)用於我們的分支策略。從github傳遞參數給Jenkins推

我有一個Jenkins構建作業,它將git分支作爲參數,然後可以檢出並根據所選內容構建正確的分支。

Jenkins Job with branch variable .....

.....

..... Branch configuration

我想什麼 - 是自動觸發BASE_JOB只有建立被推動的分支。到目前爲止,我一直無法找到任何方法來做到這一點。

如果我設置了將更改推送到github時的構建,那麼作業將簡單地重建最後一個構建的分支,而不管分支是否被推送。

我見過Jenkins的一些插件,它會在創建新分支時自動生成模板作業 - 但我認爲這樣做是爲了讓每個當前活動的分支都有一份作業。

My available build triggers

有沒有辦法通過一個分支參數的「更改時被推到GitHub上建立」?或者以其他方式解決這個明顯的限制?

謝謝!

+0

你有將要推的樹枝什麼模式嗎?就像一個關鍵字/你可以建立除mater分支之外的任何分支嗎? –

回答

1

檢查這些設置,看它是否工作。

enter image description here

enter image description here

+0

讓分支說明符保持空白是讓ALMOST得到我想要的東西的方法。在你的構建觸發器中,我實際選擇了「GITScm輪詢的GitHub鉤子觸發器」。這是當某些東西被推到git時允許作業觸發的那個。 – eak12913

+0

上面的解決方案要求我只有2個構建作業。第一個我稱之爲「AUTOBUILD」 - 這個分支說明符爲空,並且有GitHub掛鉤構建觸發器。只要有人推送到git並自動構建分支,該作業就會運行。我的第二份工作就是我平時的構建工作,它有一個用戶可以設置的BRANCH變量。這允許用戶在需要時手動構建分支。 – eak12913