Jenkins – 如何透過 Java Web Start 建立 slave

當我們有太多東西需要透過 Jenkins 去執行時,如果都在同一台機器上,有時候會造成主要的服務器太多的壓力,因此,我們可以透過其他機器來幫忙分擔。
所以我們可以透過 Jenkins 的 Master ,分配任務給其他 Slave 來執行,以減少 Master 的工作量。

Jenkins Master 與 Slave 之間的連接方式有許多種,在此僅介紹透過 Jave Web Start 的方法來連接。

一、從 slave 機器進到 Master Jenkins(網頁) 中。

二、在 Jenkins 建立一個新的 slave

  • Manage Jenkins -> Manage Nodes -> New Node
  • 輸入 Node name 並選擇 Dumb Slave

螢幕快照 2014-04-10 上午11.02.06

  • 輸入相關配置訊息,並在 Launch method,選擇 Launch slave agent via java Web Start

1111111

三、點選剛剛新增的 Node 進入

從 slave 機器進到 Master Jenkins 中,點選剛剛新增的 Node 進入

node

可以看到有三種方式可以連結到 Master(如下圖)

2

* 這邊要注意的是,如果這邊所指的位置為 localhost,表示我們沒有設定 Jenkins Location( 如下圖 )

3

如果此時透過任何一種方法去啟動,即使將 command  的 localhost 改成 Master 的 IP  還是會出現如下圖的錯誤

4

我們用第一個方法下載 slave-agent.jnl 並透過 Notepad++ 來看,裡面的 URL 都是指向 localhost(如下圖)

5

為了解決此問題,我們可以將 slave-agent.jnlp 裡所有的 localhost 都改成正確的位置,儲存之後,在 slave-agent.jnlp 按右鍵並選擇「啟用」,就可以連線成功了。

或者是到 Master 的 Jenkins Location 設定 URL 為 IP 或是 Server Name 後,
再從 Slave 機器進去看,可以看到都是指向所設定的位置。

6

四、選擇任一種方法連線,就可以成功連線了。(如下圖)

7

參考文章:
Setting up a Hudson slave on Windows XP
配置 Jenkins 的 Slave 節點的詳細步驟適合 Windows 等其他平台

 

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s