2012-12-17 91 views
2

我工作的商店使用jenkins進行持續集成,並使用其推廣的構建插件來部署構建工件。但是,隨着配置數量的增長,我們無法管理此設置。所以我的問題是:Jenkins:處理很多構建配置

我怎樣才能建立一個方便的CI系統,從中我可以部署在各種配置各種文物,而無需手動編寫腳本每一個可能的組合?

更多的細節:

比方說,我有生成配置(即分公司)ABC。有三個部署目標I,JK(對各種客戶或消費者而言)。最後,每個部署的實例具有各種服務X,YZ(例如,網站,後臺任務和數據服務)。各種服務通常一起推廣;但有時,特別是要獲得修補程序,它們不是。

目前,我們爲這些組合中的每一種都有促銷活動。因此,要安裝典型版本,我需要在配置C上運行促銷J/X,J/YJ/Z。不幸的是,服務數量在不斷上升,並且在沒有任何錯誤的情況下獲得了jenkins中的所有配置,並且確保當部署出現時沒有任何組件被遺忘或混淆變得越來越棘手。當然,有三個以上的構建配置和三個以上的目標,所以這一切都失控了。

是不太工作的一些選項:

  • 參數化的促銷活動,以禁用各種組件。詹金斯允許參數化的促銷活動,但這些值在您首次推廣時是固定的。我可以通過提升J並設置一些參數來消除一定程度的自由度,但如果更高版本出現故障,我不能只回滾已損壞的組件,我需要回滾整個部署。

  • 從屬參數化構建。詹金斯似乎不支持參數來選擇依賴哪個構建,並且如果您手動編寫選項,那麼當然「運行」選擇參數無法工作。

我真正想要的:

  • 後的生成被手動接受爲準備部署,應標註,包括其目標的參數和參數的組件。

  • 安裝歷史記錄是按組件每個目標記錄的,而不是(僅)每個版本。

回答

0

可能有一些插件來幫助,但你也可能接近哪裏尋找商業工具的點是適當的。我爲構建/部署供應商(Urbancode)工作,所以通過一切手段採取這一巨大的鹽。

我們一般見到的人有一個單一的項目和團體爲那些使用相同的基本配置與一定的每工作流程的參數多一個「項目」'構建工作流的不同構建類型(或分支機構)。真正簡單的重用過程。

服務的數量不斷上升不幸,並獲得在詹金斯所有這些配置未做任何錯誤,而且確保沒有組件被遺忘或混淆,當部署惡有惡報越來越棘手。當然,有三個以上的構建配置和三個以上的目標,所以這一切都失控了。

如果這裏的挑戰是,你有多個Web服務和促銷活動(尤其是生產)涉及推動很多東西,在特定的版本,以協調的方式你打的標準使用案例我們application release automation tool, uDeploy。它很容易與Jenkins集成。它對於什麼版本的部署目標以及運行該過程的人員有很好的跟蹤。

+0

晶粒施加鹽;但是謝謝!我一定會看看uDeploy。 –