jenkins分散式構建job
一、準備以及目標
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