2010-08-18 69 views
1

我將很快轉移到git版本控制。我的持續構建系統是Hudson,我使用maven構建我的工件。hudson + git + maven

任何人都有最佳實踐來設置git以最好地與其他工具一起工作。

有關如何在git中管理包和插件以最容易地將其拉入哈德森的建議也值得讚賞。

請謝謝。

+0

其實... http://stackoverflow.com/questions/3209208/what-is-the-cleverest-use-of-source-repository-that-you-have-ever-seen/3209767#3209767:no更多哈德森;) – VonC 2010-08-18 19:35:44

+0

@VonC:我會花更多時間重讀所有內容,但我不明白David描述的解決方案與本地構建(您應該在提交之前運行)有何不同,而我不要認爲它允許刪除「中央」CI服務器。 *「沒有更多的哈德森」*聽起來像是一個誇張的捷徑。 – 2010-08-18 20:13:08

+0

@帕斯卡爾:「沒有更多的哈德森聽起來像是一個誇大的捷徑......因爲它是;)但事實是,私人建築你不需要一個工作調度。只是另一個本地Git倉庫,它有一個用於管理構建並將有效構建(即,提交編譯)的代碼轉換爲遠程倉庫的腳本。 *有*(即在遠程回購),可以進行更復雜的工作(靜態分析,單元測試......),由哈德森安排。 – VonC 2010-08-18 20:50:50

回答

6

我們每天都在使用git-maven-hudson。

對於哈德森來說,有一個git插件可以很好地工作,並具有殺手功能。

Maven照顧自己的依賴關係,並不需要知道git或hudson,這使得很好的解耦和較少移動的部分。

現在爲殺手功能:

我們基於工作票。在git中,我們使用每張票的分支併爲該分支上的單張票進行所有開發。準備分享時,我們將分支推送到中央倉庫。 Git插件將檢查並加載所有新分支,將它們合併到主分支並編譯/運行測試/部署到Nexus並將補丁推送到主分支。

我們定期從主分支拉近距離。

這可以很好地工作,幾乎沒有任何合併衝突在服務器上。

+0

您能否更詳細地描述這是如何工作的,或者鏈接到參考頁面? – 2010-10-13 10:42:56

+0

查看git插件的wiki頁面,並查找「預構建分支合併」。 http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin – 2010-10-13 16:14:57