建置 Jenkins 分散式架構 ( Master+Slave )
2018/02/21 21:24:53
1
11131
建置 Jenkins 分散式架構 ( Master+Slave )
簡介 |
當Jenkins有越來越多的專案都需要執行編譯,若都在同一台Jenkins同時執行的話,會造成機器消耗太多資源與排程上的專案會來不及編譯。 我們可以透過分散式Jenkins來平均分攤要編譯的專案,來解決上述的困擾。以一個Master為中心專門負責分派任務到其他多個Slave進行編譯,將加快專案編譯速度。 |
作者 |
姜志民 |
一、建構並設定Master
a.
先在一台電腦上安裝
Jenkins
,此電腦將扮演
Master
腳色。
b.進入「管理 Jenkins」。

c.進入「設定全域安全性」。

d.找到Agents區塊,選擇「隨機」在按下「Agent protocols」,設定如下圖。

只勾選「Java Web Start Agent Protocol/4 (TLS encryption)」項目,在按下「儲存」。

e.進入「管理節點」。

f.進入「新增節點」。

g.輸入節點名稱後,選擇Permanent Agent,在按下OK。

h.
「遠端檔案系統根目錄」:這是指在
Slave
節點上的路徑,這會使用來當作
Master
指派任務的編譯目錄。
「啟動模式」:建議選擇
Launch agent via Java Web Start
,因為其他類型的模式,設定步驟相當繁雜。

二、建構並設定Slave
a.在另一台電腦用瀏覽器連入Master的Jenkins網頁,如下圖,此電腦將扮演Slave腳色。

b.
進入「管理
Jenkins
」。

c.
進入「管理節點」。

d.
選擇之前所建立的節點「
Windows10
」。

e.
點選「
Launch
」下載
slave-agent.jnlp
檔案。

f.
利用記事本將剛剛下載的
slave-agent.jnlp
檔案打開,並將
127.0.0.1
的
IP Address
換成
Master
節點的
IP Address
,如下圖。

g.
執行
slave-agent.jnlp
檔案後,會出現如下圖並按下「執行」。

h.
成功連線到
Master
節點會有
Connected
的訊息,如下圖。

三、Master隨機與指定分配任務給Slave
a.
連入
Master
節點的
Jenkins
網頁,可以看到
Slave
節點
Windows10
有成功連線到
Master
,如下圖。

b.
若要分配任務到特定的
Slave
節點,在
node
加上括號與
Slave
節點名稱,如下圖。若沒有加上括號與
Slave
節點名稱的話,會隨機找一個
Slave
節點進行編譯動作。

c.設定完成後進行專案的編譯,可以看到在Slave 節點有任務,如下圖。
