jenkins配置slave節點 構建項目並執行操作


1、新建與配置結點

【系統管理】-> 【管理結點】-> 【新建結點】

2、配置slave

 

 

說明:

Name:

定義slave的唯一名稱標識,可以是任意字符串,通常設置為slave主機名、ip地址

 

描述:

關於slave的描述,通常用於描述與其它salve的區別

 

# of executors:

來自官方描述:這個值控制着Jenkins並發構建的數量. 因此這個值會影響Jenkins系統的負載壓力. 使用處理器個數作為其值會是比較好的選擇。

增大這個值會使每個構建的運行時間更長,但是這能夠增大整體的構建數量,因為當一個項目在等待I/O時它允許CPU去構建另一個項目。

設置這個值為0對於從Jenkins移除一個失效的從節點非常有用,並且不會丟失配置信息

 

遠程工作目錄:

指定slave的工作目錄路徑。最好設置為絕對路徑,如“/var/jenkins”或“c:\jenkins”。這里填寫的是相對於slave主機的路徑,正常情況下,不必對master主機可見。

 

標簽:

標記(又叫做標簽),用來對多節點分組,標記之間用空格分隔.例如'refression java6'將會把一個節點標記上'regression'和'java6'。

舉例來說,如果你有多個Windows系統的構建節點並且你的Job也需要在Windows系統上運行,那么你可以配置所有的Windows系統節點都標記為'windows', 然后把Job也標記為'windows'.這樣的話你的Job就不會運行在除了Windows節點以外的其它節點之上了.

 

用法:

控制Jenkins如何在這台機器上安排構建.

1)盡可能的使用這個節點

這是默認和常用的設置. 在這種模式下,Jenkins會盡可能的使用這個節點.任何時候如果一個構建能使用這個節點構建,那么Jenkins就會使用它.

2)只允許運行綁定到這台機器的Job

這種模式下,Jenkins只會構建哪些分配到這台機器的Job. 這允許一個節點專門保留給某種類型的Job.例如,在Jenkins上連續的執行測試,你可以設置執行者數量為1,那么同一時間就只會有一個構建, 一個實行者不會阻止其它構建,其它構建會在另外的節點運行.

 

啟動方法:

控制Jenkins怎么啟動slave

1) Launch slave agents on Unix machines via SSH

通過SSH連接,發送命令來啟動slave。需要提供可以登陸slave主機的帳號,可以不具備root權限。

 

2)Launch slave agents via Java Web Start

通過JNLP啟動一個代理程序啟動slave。這種情況下,啟動是由slave初始化的,所以主機不一定要ip可達(比如隔着一層防火牆)[ The launch in this case is initiated by the slave, thus slaves need not be IP reachable from the master (e.g. behind the firewall.)]

 

3)Launch slave via execution of command on the Master

通融個從master上執行一個命令來啟動啟動slave。當master可以在salve上遠程執行一個進程,比如通過ssh/rsh,可以使用這個。

 

4)Let Jenkins control this Windows slave as a Windows service

不推薦。往往問題多多

 

Availability:

控制jekins何時啟動或停止slave。

1)Keep this slave on-line as much as possible

默認和常規設置。這種模式下,jenkins會盡量保持salve在線。如果不通過用戶援助,啟動slave, 如果slave不可獲取,jenkins將周期性的嘗試啟動slave。Jenkins不會主動讓slave 下線。

 

2)Take this slave on-line when in demand and off-line when idle

在這種情況下,jenkins可在沒有用戶援助的情況下啟動slave,當遇到滿足以下條件的不可執行任務時,jenkins將周期性的嘗試啟動slave:

>在隊列中等待時間已達指定啟動時間( startup demand period).

>可在slave上執行

slave將被下線,如果:

>slave上沒有活動任務在執行

>slave處於空閑狀態時間已達到指定的空閑時間(specified idle period)。

 

In demand delay:告訴Jenkins如果有Job需要在此節點構建,需要在任務隊列等待多長時間才會進入任務狀態進行構建

Idle delay:告訴Jenkins多少分鍾內如果沒有Job需要構建就離線

 

配置完后,查看Slave狀態如下:

 3、點擊launch按鈕,這時會讓我們下載一個文件,下載到我們的slave節點的遠程工作目錄就可以了

 

 然后雙擊slave-agent,出現connected說明連接成功

現在回到jenkins的管理節點頁面,slave節點的❌已經沒有了,說明連接成功

 

 4、關聯項目,然后運行看看是否成功了

進入job的配置頁面,勾選Restrict where this project can be run,並且在Label Expression輸入奴隸節點的標簽名(一個標簽有可能對應多台slave節點),也可以輸入slave節點的名稱

5、構建觸發器

 

 6、直接構建看看效果  java -version 檢查java版本

構建成功了,slave節點也是ok的

 在做自動化測試的時候我們只需要將測試服務器配置為slave節點,配置好相應的job來監控開發job或者開發的代碼是否有變動或者構建的動作,根據自己的情況執行測試項目的構建動作,從而實現持續集成
 
注意:如果jenkins的配置從節點中默認沒有Launch agent via Java Web Start,該如何配置使用?

如何設置才能讓出來呢?

1:打開"系統管理"——"Configure Global Security"

2:TCP port JNLP agents 配置成"隨機",點擊"Agent protocols",打勾開啟"Java Web Start Agent Protocol3"

3:檢查Plugin Manager中"Enable Slave"需要打勾

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM