1 添加robot插件
2 添加郵件插件
3 在jenkins中添加需要遠(yuǎn)程訪問(wèn)的slave節(jié)點(diǎn)(子節(jié)點(diǎn))
在jenkins系統(tǒng)管理-管理節(jié)點(diǎn)下面點(diǎn)擊新建節(jié)點(diǎn)按鈕,填寫(xiě)相關(guān)信息
填寫(xiě)節(jié)點(diǎn)名稱(chēng),選擇Dumb Slave 選項(xiàng)聚谁,點(diǎn)擊“ok”按鈕评疗,創(chuàng)建一個(gè)slave節(jié)點(diǎn)测砂。
配置slave節(jié)點(diǎn)的相關(guān)屬性信息。
4 配置節(jié)點(diǎn)
a)“遠(yuǎn)程工作目錄”部分需要填寫(xiě)要遠(yuǎn)程控制的服務(wù)器的共享文件夾的地址信息百匆。
如:\\192.168.0.90\testRobot砌些。該地址信息用于存儲(chǔ)jenkins遠(yuǎn)程控制時(shí)需要臨時(shí)放置的相關(guān)文件。
b)“標(biāo)簽”部分內(nèi)容胧华,定義一個(gè)標(biāo)簽名稱(chēng)寄症,用于遠(yuǎn)程調(diào)用時(shí)標(biāo)示的選擇。
c)“啟動(dòng)方法”部分選擇“Launch slave agents via Java Web Start”選項(xiàng)即可矩动。
d)“Environment variables”環(huán)境變量部分需要手動(dòng)添加需要遠(yuǎn)程控制的服務(wù)器上的環(huán)境變量參數(shù)有巧。
該部分內(nèi)容用于jenkins遠(yuǎn)程訪問(wèn)時(shí)可以獲得遠(yuǎn)程控制的服務(wù)器上面的相關(guān)環(huán)境變量。 和服務(wù)器的一致
如:
設(shè)置path為c:\python27;c:\Python27\Scripts;C:\Program Files\Google\Chrome\Application即可悲没。
點(diǎn)擊“save”按鈕保存相關(guān)設(shè)置信息篮迎。查看管理節(jié)點(diǎn)頁(yè)面,出現(xiàn)新添加的slave節(jié)點(diǎn)信息示姿。節(jié)點(diǎn)狀態(tài)展現(xiàn)為未連接
5 在需要控制的遠(yuǎn)程服務(wù)器上安裝jenkins遠(yuǎn)程控制客戶(hù)端代理程序甜橱,并運(yùn)行,使jenkins和遠(yuǎn)程服務(wù)器進(jìn)行連接栈戳。
在需要遠(yuǎn)程控制的服務(wù)器上運(yùn)行jenkins框架訪問(wèn)頁(yè)面岂傲,在jenkins系統(tǒng)管理-節(jié)點(diǎn)管理頁(yè)面中點(diǎn)擊新添加的slave節(jié)點(diǎn),展現(xiàn)如下頁(yè)面子檀。
按照頁(yè)面提示信息镊掖,在cmd中運(yùn)行:“javawshttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”執(zhí)行語(yǔ)句乃戈,安裝slave客戶(hù)端代理程序。
如顯示應(yīng)用程序被安全設(shè)置阻止亩进。需要在java運(yùn)行的安全級(jí)別中添加例外的網(wǎng)站地址信息症虑。
在“所有程序-java”中選擇“configure java”選項(xiàng),打開(kāi)java控制面板归薛,選擇“安全”tab頁(yè)谍憔,在上面添加例外站點(diǎn)列表。點(diǎn)擊“確定”按鈕保存java設(shè)置主籍。
重新在cmd中運(yùn)行:“javawshttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”執(zhí)行語(yǔ)句习贫,彈出slave客戶(hù)端代理程序頁(yè)面,即可連接jenkins和slave服務(wù)器
也可以在彈出的slave客戶(hù)端代理程序頁(yè)面進(jìn)行安裝代理服務(wù)程序千元。
安裝代理服務(wù)程序成功后沈条,在cmd中運(yùn)行:“java -jar slave.jar -jnlpUrlhttp://192.168.0.135:8080/computer/slave2/slave-agent.jnlp”語(yǔ)句,啟動(dòng)slave客戶(hù)端代理程序诅炉,連接jenkins和slave服務(wù)器蜡歹。
在jenkins中查看節(jié)點(diǎn)連接情況,節(jié)點(diǎn)連接狀態(tài)顯示正常
6 ?新建一個(gè)任務(wù)涕烧,進(jìn)行遠(yuǎn)程控制訪問(wèn)robotframework程序月而,自動(dòng)運(yùn)行測(cè)試用例。
a)在jenkins主頁(yè)面中點(diǎn)擊“新建”按鈕议纯,新建一個(gè)任務(wù)父款。
填寫(xiě)一個(gè)任務(wù)名稱(chēng),選擇“構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目”的類(lèi)型瞻凤,點(diǎn)擊“ok”按鈕憨攒,新建一個(gè)任務(wù)。
b)配置任務(wù)的相關(guān)屬性信息阀参。描述最簡(jiǎn)單的遠(yuǎn)程控制配置肝集,不帶源碼編譯等信息。
C 構(gòu)建內(nèi)容(需要執(zhí)行的robot任務(wù))
需要多個(gè)任務(wù)執(zhí)行時(shí)蛛壳,增進(jìn)步驟就可杏瞻,jenkins是串行執(zhí)行的
D 添加robot報(bào)告 更多的在高級(jí)中填寫(xiě)
點(diǎn)擊“高級(jí)”按鈕,展現(xiàn)詳細(xì)log日志配置信息衙荐。配置讀取log的輸出路徑捞挥,用于讀取robotframework運(yùn)行完成后的log日志信息。
配置需要讀取的robotframework自動(dòng)化測(cè)試用例執(zhí)行后生成的文件夾路徑地址忧吟。如:C:\WINDOWS\ 砌函。
配置需要讀取的相關(guān)log日志文件名稱(chēng)。如:output.xml 溜族、?report.html 讹俊、log.html 雏掠。
設(shè)置80%通過(guò)顯示為黃色,100%通過(guò)為藍(lán)色劣像。
e)點(diǎn)擊“保存”按鈕,創(chuàng)建任務(wù)成功摧玫。
7 配置自定義郵件:
裝好郵件插件后 進(jìn)入 系統(tǒng)管理→系統(tǒng)設(shè)置
A 設(shè)置Jenkins地址和管理員郵箱(不設(shè)置管理員郵箱無(wú)法發(fā)送郵件)
B 配置系統(tǒng)管理員的郵件屬性
每個(gè)smtp server去服務(wù)提供方的幫助里都能查到耳奕,這里是騰訊企業(yè)郵箱的服務(wù)器地址
C點(diǎn)擊高級(jí),配置其他選項(xiàng)
?配置系統(tǒng)管理員的郵件屬性
username:和前面系統(tǒng)管理員一致
password:使用授權(quán)碼(后面會(huì)詳述授權(quán)碼)
Default Recipients:和前面系統(tǒng)管理員一致
D 配置“郵件通知”
和前面配置保持一致诬像,點(diǎn)擊高級(jí)進(jìn)入配置
和前面完全一致
配置完后 勾上通過(guò)發(fā)送測(cè)試郵件測(cè)試配置
這里測(cè)試的是--第4步的配置屋群,這測(cè)試通過(guò) 只能證明第4步配置是正確的,? 事實(shí)上有經(jīng)驗(yàn)的同事應(yīng)該能看出 第三步配置的是jenkins自帶的默認(rèn)郵件服務(wù)坏挠,而第4不配置的是插件的郵件服務(wù)芍躏,但是插件服務(wù)是依賴(lài)于jenkins本身自帶的郵件服務(wù)的
所以這幾個(gè)選項(xiàng)都必須全部配對(duì)才能起效
最后保存系統(tǒng)設(shè)置
8 任務(wù)構(gòu)建后的配置
選到我們剛建立的相關(guān)任務(wù),點(diǎn)擊配置
拉到構(gòu)建后操作
選到高級(jí)選項(xiàng)
觸發(fā)選擇always(JENKINS本身自帶的默認(rèn)是只有失敗才發(fā))選擇高級(jí)降狠,配置具體內(nèi)容
添加附件
將構(gòu)建日志壓縮作為附件也添加到郵件當(dāng)中發(fā)送对竣,需要注意的是,每一次構(gòu)建都會(huì)產(chǎn)生一個(gè)報(bào)告文檔榜配,倉(cāng)庫(kù)里會(huì)包含有之前構(gòu)建的所有的報(bào)告文檔否纬,所以需要打包的是當(dāng)前這次產(chǎn)生的報(bào)告文檔,不是之前的構(gòu)建產(chǎn)生的文檔
保存
9 添加 報(bào)告為郵件附件
主要配置上蛋褥,點(diǎn)選高級(jí)
自定義空間到日志所在的文件夾(默認(rèn)情況下 workspaces是在SLAVE下的節(jié)點(diǎn)配置的robot文件下建立對(duì)應(yīng)的工程文件夾)
默認(rèn)的workspace
構(gòu)建后操作里
點(diǎn)選高級(jí)
因?yàn)榍懊嬉呀?jīng)把這個(gè)slave的workspace 重定位到日志所在的文件夾了临燃,? 所以直接寫(xiě)最終目標(biāo)就行不用寫(xiě)路徑了
10 優(yōu)化郵件輸出(使用groovy script)
安裝如圖插件:
前2個(gè)是提供groovy語(yǔ)言的JenKins內(nèi)置插件,后2個(gè)一個(gè)是郵件支持烙心,一個(gè)是郵件模板測(cè)試插件(模板編寫(xiě)完畢膜廊,上傳到指定空間后,可不執(zhí)行直接查看模板效果)
A 全局配置:
Dafault Content改成對(duì)應(yīng)的腳本文件淫茵,腳本路徑是在全局的工作目錄下
在$Jenkins_Home/email-templates目錄(如果沒(méi)有email-templates請(qǐng)自行創(chuàng)建)下創(chuàng)建一個(gè)對(duì)應(yīng)的腳本爪瓜。腳本官方模板參考:
B 節(jié)點(diǎn)內(nèi)配置:
在具體的節(jié)點(diǎn)項(xiàng)目中做相應(yīng)配置:
先檢查下遠(yuǎn)端節(jié)點(diǎn)的主目錄位置:
注意: 圖示的這個(gè)節(jié)點(diǎn)是在SLAVE節(jié)點(diǎn)的空間中
?在構(gòu)建后的郵件中添加對(duì)應(yīng)語(yǔ)句:
腳本放入對(duì)應(yīng)的主空間中。
節(jié)點(diǎn)執(zhí)行腳本比全局需要多個(gè)步驟匙瘪,需要批準(zhǔn)腳本執(zhí)行:
節(jié)點(diǎn)執(zhí)行后第一次會(huì)報(bào)錯(cuò)
這時(shí)需要去In-process Script Approval 去允許執(zhí)行
插件功能直接查看效果
注意紅框處填寫(xiě)對(duì)應(yīng)的主空間钥勋,如果配置了全局就填寫(xiě)jenkins_home位置,這里是slave節(jié)點(diǎn) 所以填節(jié)點(diǎn)文件位置
問(wèn)題集錦:
1 Jenkins 調(diào)用robot中包含subprocess.popen 時(shí)報(bào) windowserror: [error 2]
node 的環(huán)境變量沒(méi)有設(shè)置正確辆苔,JENKINS的slave找不到CMD位置
不能是相對(duì)路徑或者被控機(jī)的自帶變量算灸,必須填絕對(duì)路徑
集成后大多數(shù)報(bào)win error的問(wèn)題,基本都是環(huán)境變量沒(méi)配置正確導(dǎo)致
2 fireFOX 無(wú)法瀏覽日志報(bào)告?
到?about:config?設(shè)置
security.csp.enable = false
其他問(wèn)題導(dǎo)致的報(bào)告打不開(kāi)
?
a. 如果你是用命令行開(kāi)啟的
?
關(guān)閉Jenkins驻啤,修改開(kāi)啟命令如下菲驴,重新開(kāi)啟
?
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar E:\Jenkins\jenkins.war?
b. 如果你是用msi安裝的
?
找到j(luò)enkins.xml 文件,修改如下
?
-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080
C. 如果你是用tomcat 啟動(dòng)的
有個(gè)臨時(shí)的解決方法
c.1 打開(kāi)jenkins 首頁(yè)
c.2 進(jìn)入系統(tǒng)管理
c.3 進(jìn)入腳本命令行
在輸入框輸入如下代碼骑冗,并執(zhí)行
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
注:方法c 都可以使用赊瞬,但是重啟后就失效了先煎,需要重新執(zhí)行
d 臨時(shí)解決方案
jenkins系統(tǒng)管理—>運(yùn)行命令行,在文本里輸入
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")