一继蜡、Jenkins分布式構(gòu)建
Jenkins支持節(jié)點(diǎn)配置回俐,并以主從方式進(jìn)行節(jié)點(diǎn)管理。master節(jié)點(diǎn)負(fù)責(zé)分發(fā)任務(wù)給slave節(jié)點(diǎn)稀并,slave節(jié)點(diǎn)則負(fù)責(zé)執(zhí)行任務(wù)仅颇。Jenkins可添加靜態(tài)節(jié)點(diǎn),也可通過K8S等實(shí)現(xiàn)動態(tài)增減節(jié)點(diǎn)碘举。本文只說明如何通過ssh連接添加Linux節(jié)點(diǎn)忘瓦。
使用場景
- 同一時間有多個構(gòu)建任務(wù),單節(jié)點(diǎn)的Jenkins不足以支撐這些構(gòu)建需求
- 同一時間需要多臺機(jī)器來執(zhí)行Jenkins任務(wù)
- 不同的任務(wù)需要不同的環(huán)境引颈,例如windows系統(tǒng)和linux系統(tǒng)
通過Jenkins分布式構(gòu)建耕皮,可以解決單點(diǎn)構(gòu)建任務(wù)多、負(fù)載高蝙场、性能不足凌停、多平臺的問題。
Slave節(jié)點(diǎn)環(huán)境要求
slave節(jié)點(diǎn)服務(wù)器不需要安裝Jenkins售滤,但需滿足以下要求
- master節(jié)點(diǎn)和slave節(jié)點(diǎn)可以通信
- master節(jié)點(diǎn)可通過ssh登錄slave
如果項目執(zhí)行需要java罚拟、git等工具和環(huán)境,Jenkins首先會使用slave服務(wù)器上的環(huán)境完箩,如果不存在赐俗,則會使用master上的工具和環(huán)境。然后slave配置環(huán)境和工具時嗜憔,路徑最好與master上的一致秃励。
二、 添加步驟
2.1新建節(jié)點(diǎn)
系統(tǒng)管理→管理節(jié)點(diǎn)→新建節(jié)點(diǎn)
選擇固定節(jié)點(diǎn)吉捶,填寫節(jié)點(diǎn)名稱
2.2節(jié)點(diǎn)配置
啟動方式選擇“Launch agents via SSH”后夺鲜,需要填寫主機(jī)IP與信用憑證。我的slave服務(wù)器需要通過私鑰才能訪問呐舔,所以按照以下方式添加憑據(jù)币励。
點(diǎn)擊保存,節(jié)點(diǎn)配置完成
2.3連接代理
節(jié)點(diǎn)配置完成后珊拼,進(jìn)入該節(jié)點(diǎn)食呻。點(diǎn)擊“啟動代理”按鈕即可完成連接。
若連接失敗,點(diǎn)擊“日志”查看具體信息仅胞,一般可能出現(xiàn)的問題有每辟,沒有給salve的jenkins目錄給夠權(quán)限。
三干旧、代理節(jié)點(diǎn)的使用
3.1freestyle項目
添加一個freestyle類型的項目渠欺,general→限制項目運(yùn)行的節(jié)點(diǎn)
3.2 pipeline
添加流水線項目,在pipeline命令中使用agent-lable指定節(jié)點(diǎn)
也可以使用agent-docker-lable指定執(zhí)行環(huán)境