jenkins在windows平台自動化構建代碼


jenkins服務端:centos6.8

客戶端:windows server2012 windows10

工具:cwRsync

注:復制為jenkins工作目錄到網站目錄,無需服務端。

1、安裝jenkins

略。

2、配置安裝slave端

所用的插件:Copy Data To Workspace Plugin

https://wiki.jenkins.io/display/JENKINS/Copy+Data+To+Workspace+Plugin

2.1 配置windows節點

1. 主界面->【系統管理】->【管理節點】->【新建節點】,進行節點的添加:

image

image

image

2. 輸入節點名稱,選擇【Permanent Agent】。如果添加過slave的話會出現【復制現有節點】操作

image

3. 配置節點的詳細信息

image

此處配置需要注意的有以下幾個方面

【# of executors】:建議不要超過CPU核心數,一般不要寫特別大。

【遠程工作目錄】:master將代碼庫中的代碼復制到slave時,存放的臨時目錄,如slave的daemon服務也會放在此目錄。一個job一個文件夾。

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

【啟動方式】:選擇【Launch agent via Java Web Start】,以windows服務的方式啟動,這個為最好配置的。注意:2.x版本的默認沒有這個選項,需要單獨開啟。

4. 配置slave端並且添加至windows服務

在點擊保存后,在node列表中會存在此列表默認是未連通狀態

image

點擊進入詳情頁面會提示slave端的安裝方法,此處講解下載文件方式。

【Launch】:瀏覽器下載文件方式

【Run from agent command line】:從遠端代理命令運行

image

注意:這是java服務,每個slave端必須安裝jdk后才可運行。

下載后的文件內容如下:

<jnlp codebase="http://10.0.0.11:8080/jenkins/computer/test/" spec="1.0+">
<information>
	<title>Agent for test</title>
	<vendor>Jenkins project</vendor>
	<homepage href="https://jenkins-ci.org/"/>
</information>
<security>
	<all-permissions/>
</security>
<resources><j2se version="1.8+"/>
	<jar href="http://10.0.0.11:8080/jenkins/jnlpJars/remoting.jar"/>
</resources>
<application-desc main-class="hudson.remoting.jnlp.Main">
	<argument>c55442e04b03c2fc721ec718b70646c234b4c79a678ff10ccadc59541dbb843</argument>
	<argument>test1</argument>
	<argument>-workDir</argument>
	<argument>d:\jenkins</argument>
	<argument>-internalDir</argument>
	<argument>remoting</argument>
	<argument>-url</argument>
	<argument>http://10.0.0.11:8080/jenkins/</argument>
</application-desc></jnlp>

注意:每個slave的內容都不一樣至。多個slave需要多次下載或修改此內容

image

安裝出現如下錯誤的原因,沒有權限,使用管理員方式運行。

image

這種文件右鍵沒有管理員方式運行的菜單,打開【任務管理器】->【運行】->【以管理員方式運行】

image

卸載系統服務方式:

sc delete jenkinsslave-c__jenkins

安裝完成后slave設置的遠端目錄會生成如下文件

image

返回master的節點列表里,發現此處已經連接上了。

image

4、新建工程

選擇自由構建方式。

image

【Restrict where this project can be run】:限制運行此項目的節點為剛才設置node時標簽填寫的windows。

image

下載安裝插件后會出現此選項。實測,填寫路徑沒什么卵用。

image

此處選擇執行windows命令

注:此處存在以下問題。

1、此處如果代碼庫中不存在此文件,或更新后此文件被刪除,那么使用xcopy會存在代碼庫中的文件以刪除,而slave node文件夾中的文件還存在。無法清除。解決方法使用rsync –delete 或執行腳本文件進行判斷。

2、如slave node中需要存在代碼庫中不存在的文件,使用rsync會將需要存在的文件刪除。

3、此處無環境變量,執行命令需要使用全路徑,不能存在中文和空格

C:\tools\cwRsync\bin\rsync -avz ./ /cygdrive/c/test1/ --delete --exclude=.svn

xcopy /y /e /r ./ /cygdrive/c/test1/

測試結果

查看web目錄內容

image   image

構建代碼

image


免責聲明!

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



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