簡體   English   中英

如何設置Jenkins來構建我的所有項目版本?

[英]How do I setup Jenkins to build all of my versions of a project?

我正在使用subversion學習整個版本控制的東西,並使用trunk,branch,tags等來處理我項目的所有不同工作/版本。 我也試圖通過與Jenkins的持續集成來加快速度(試過ccnet,這真是個噩夢!)。

所以我的問題是,如果我的項目SVN中有以下區域:

file:///E:/Data/SVN/MyProject/trunk
file:///E:/Data/SVN/MyProject/tags/version_1.0
file:///E:/Data/SVN/MyProject/branch/version_1.1

..在Jenkins中設置此構建項目的最佳做法是什么,以便我的SVN中的所有不同區域都被持續監控並且構建了任何更改?

我是否會設置一個包含多個源代碼存儲庫的項目,每個版本/主干一個? 或者我會設置多個構建項目? 我該怎么做?

編輯:我應該使用矩陣項目(構建多配置項目)嗎?

對於夜間構建(那些相對不頻繁且需要較長時間的構建,通常由於在其中進行更多自動化測試),矩陣項目非常適合。 它的主要優點是“一個變化點” - 您不必編輯多個作業,以便在構建中引入相同的更改。 這當然只適用於作業在分支之間幾乎沒有變化的情況(順便說一下,這種變化通常可以通過運行條件插件來巧妙地處理)。

在這種情況下,多配置項目可能不是最適合交付構建的(交付構建在開發人員提交到存儲庫以檢查他/她的更改是否集成良好時運行)。 原因是,如果你提交trunk,你只想構建trunk,但矩陣構建將構建所有東西(消耗計算資源和時間)。

對於交付構建,我將使用參數化構建,其中主要參數將是要構建的分支。 該構建可以由SVN鈎子觸發(參見本文檔 )。 或者,您可以為每個將輪詢分支的分支(通過Subversion插件 )關聯觸發器構建,並通過參數化觸發器插件使用適當的參數觸發主構建。

順便說一下,我實際上使用了上面提到的所有方法(除了SVN鈎子,我不再完全出於技術原因)。

設置多個作業,每個作業對應要構建的每個分支/標記。 一旦您完成一項工作,您可以復制它以創建其余工作,只更改SVN URL。

當你停止維護那些標簽/分支時,你也應該擺脫舊的工作,這樣你的Jenkins配置就不會失控。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM