一、準備以及目標
1.目標
上篇文章中寫了如何利用docker+jenkins+git來構建java代碼自動化部署,本篇將實踐如何利用jenkins分佈式來構建job,當job量足夠大的時候,此舉可以有效的緩解jenkins-master上的壓力
2.準備
- 在本地windows上啓動jenkins作爲master
- 準備兩臺服務器作爲slave
二、構建過程
1.在jenkins上點擊 “系統管理”--->“管理節點”--->“新建節點”,填寫節點名稱,勾選選項,點擊ok開始新建節點
2.配置信息如下:
配置介紹:
名稱:節點的名稱
併發構建數:使用處理器個數作爲其值會是比較好的選擇(可以點擊後面的?號來查看詳細信息)設置爲0即表示不刪除該節點的配置但是不啓動該節點
遠程工作目錄:操作服務器的目錄
用法:選擇儘可能使用的話,在構建job的時候會優先在該節點上構建;選擇綁定job的話,需要在運行的節點中指定從節點.
啓動方式:這裏是選擇通過的ssh,輸出機器的用戶名和密碼即可登錄
Host Key Verification Strategy:選擇不驗證(non verifying verification strategy)
可用性:儘量保持代碼在線(這裏僅僅做測試,不考慮性能消耗..)
接下來要在節點屬性中添加一些工具列表,本次實驗至少需要jdk、maven、git,因此必須得在這裏進行配置,地址選擇對應slave服務器上的地址
3.job配置
job配置中其他的配置就不說了(不會的可以參考我之前的文章docker+jenkins+git構建java自動化部署),主要是在General中可以選擇“限制項目的運行節點”下的標籤表達式中指定從節點來構建.
job配置好了以後,手動點擊立即構建就行,也可提交代碼變更來觸發構建.此舉就實現了在從節點上構建job.
三、總結
- 這種方式可以有效的緩解jenkins-master上的壓力.
- 每個從節點都是在一個服務器上構建,當從節點比較多的時候會浪費服務器的資源. 因此可以考慮在一臺服務器上啓動多個docker容器來充當從節點來節省服務器資源.
如果對文章有疑問或者哪裏不懂的請聯繫我,在力所能及的範圍內幫助解答;如果文章有錯誤,也歡迎指出。
原文首發於知乎,知乎鏈接:https://zhuanlan.zhihu.com/p/39623810