測試環境
JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe)
Jenkins
Win11 64
python項目環境
實踐操作
1、新建與配置結點
【系統管理】-> 【管理結點】-> 【新建結點】,
如上,輸入結點名稱,勾選 【Dumb Slave】,點擊【OK】
說明:根據官方文檔,如果是添加 jenkins外部的主機,虛擬機器等似乎要添加。
按如上配置
說明:
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狀態如下:
2、Slave主機配置
1)安裝 Java JDK 并配置
2)進入命令行,輸入上述提示
C:\Users\Administrator>javaws
http://192.168.30.79:8080/jenkins/computer/192.168.30.174/slave-agent.jnlp
C:\Users\Administrator>
如上,成功了,可以關閉提示框了
3)查看結點狀態,如下,OK了
3、新建任務
1.如下,選擇【構建一個自由風格的軟件項目】
2、如下,根據需要自由配置
保存
3、執行構建
構建時,會自動執行遠程主機(192.168.30.174)上的 python項目腳本