為Jenkins添加Windows Slave遠程執行python項目腳本
by:授客 QQ:1033553122
測試環境
JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe)
下載地址:http://pan.baidu.com/s/1qXkJdvu
Jenkins
Win764未
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 並配置
不懂的參考連接:Java win7或 xp下配置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項目腳本
附pdf版下載地址:
為Jenkins添加Windows Slave遠程執行python項目腳本.pdf