2011-10-16 52 views
3

我的公司正在從svn切換到git,我正在研究各種分支模型。我目前最喜歡的一個是git-flow,但我有一個主要的懸而未決的問題。如何使用git-flow分支模型從發佈/修補程序分支安裝hudson(或jenkins)?

我們使用hudson(即將成爲jenkins)爲我們的CI服務器。有5個應用程序,每個環境3個:開發,qa和生產。使用git-flow,將開發構建指向「開發」分支並將生產構建指向「主」分支將是顯而易見的,但是設置事務的最佳方式是什麼,以便我們可以輕鬆地重定向qa環境遷移到最新的修補程序或發佈分支(如果存在),或者如果不存在,則開發。我們目前只是手動更新jenkins作業,但它是一個痛苦(並容易出錯)手動更改5個作業。

有些事情我已經考慮:

  1. 添加QA分支和合併到它從發佈/修補程序分支。這是一個非起步者,因爲我們必須記得在我們對發佈/修補程序進行更改並且老化得很快的時候合併到qa分支中。

  2. 創建一個符號引用「refs/heads/qa」,並將其更新爲指向我們希望QA測試的任何內容。這比上面的更好,但不起作用,因爲我們需要更新我們的git服務器上的sym-ref,而正常的開發人員沒有權限這樣做。

到目前爲止,這些選項對我來說似乎都不可行,還有其他一些選項我是否缺失?謝謝。

回答

3

我不是很讓你的問題的細節,但這個怎麼樣:

在構建配置,勾選「此版本的參數」,然後創建一個名爲「分支」(字符串或選擇參數或類似),默認爲您的開發分支。

然後,在git config中,分支名稱通常在那裏,使用「$ {branch}」而不是硬編碼分支名稱。

如果構建是自動觸發的,它將使用develop分支。但是當你手動開始構建時,你會得到指定新分支名稱的選項。

+0

這並不理想,但它似乎確實是目前最簡單的答案。考慮到我也可以編寫一個腳本來引發特定分支的一堆構建,這可能會工作得很好。 – ungood

+0

太好了。如果您有更多問題,您可能會在jenkins-users郵件列表中獲得更多答案。 –

相關問題