Jenkins+Jmeter+Ant+Svn搭建持續(xù)集成和自動(dòng)化部署
本文在window7x64下配置使用。
持續(xù)集成
是一種軟件開(kāi)發(fā)實(shí)踐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成他們的工作,通過(guò)每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成,每次的集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡早發(fā)現(xiàn)集成錯(cuò)誤。簡(jiǎn)單來(lái)說(shuō),就是持續(xù)的定時(shí)的在多個(gè)團(tuán)隊(duì)成員的工作中進(jìn)行集成,并且給予反饋。
持續(xù)集成需要開(kāi)發(fā)人員一天多次的將代碼集成到主干,并進(jìn)行自動(dòng)化編譯、測(cè)試等操作,由于這種頻繁集成,以及集成后及時(shí)開(kāi)始的編譯和測(cè)試,可以有效避免我們?cè)谔峤淮a時(shí)沒(méi)有進(jìn)行必要檢查而導(dǎo)致的錯(cuò)誤,以及一些超出預(yù)期效果的更改,從而保證代碼的質(zhì)量。
由于這種及時(shí)性,如果在一次提交后項(xiàng)目集成失敗,可以快速的在這次提交中查找問(wèn)題所在,縮小了找問(wèn)題的范圍,從而減少了一些debug時(shí)間。同時(shí)如果按照這種實(shí)踐,那么我們的主干代碼時(shí)刻都是正確的,這樣我們可以更頻繁的交付。
Jenkins是一個(gè)可持續(xù)集成,jenkins非常就說(shuō)安裝和配置,簡(jiǎn)單易用,下面我來(lái)介紹一下:
1.使用jmeter錄制操作過(guò)程
2.將jmeter的安裝路徑下的extras目錄中“ant-jmeter-1.1.1.jar這個(gè)jar包放在ant的{安裝目錄}\lib目錄下(此處很重要!)
3.配置jemter的build.xml文件。
4.使用ant編譯驗(yàn)證jmeter的build文件。(注意將配置好的bulid.xml文件放在ant目錄的bin目錄下)
5.部署到持續(xù)集成平臺(tái)jenkins(完成;Boom!!!)
一.jmeter腳本的編寫(xiě)
可以使用錄制,也可以自己寫(xiě)腳本。
https://pan.baidu.com/s/1c1JTpc8可以看里面的視頻
二.Ant的安裝和設(shè)置
1.下載安裝
http://ant.apache.org/bindownload.cgi
下載下來(lái)是一個(gè)壓縮包解壓在任何一個(gè)地方
2.配置內(nèi)部的環(huán)境變量:
classpath:/apache-ant-1.9.0 /lib ? ? ? ? ? ? ? ? ? ? ?ant_home:? /apache-ant-1.9.0 ? ? ? ??
?path:/apache-ant-1.9.0/bin
在DOS界面輸入如下命令:{Ant安裝位置}\bin ant -version
如果出現(xiàn)版本內(nèi)容,說(shuō)明安裝成功
說(shuō)明ant安裝成功!但如果出現(xiàn)“ant”不是內(nèi)部或外部命令,也不是可運(yùn)行的命令或者批處理文件,說(shuō)明安裝失敗。
3.配置ant中的文件
http://pan.baidu.com/s/1eSmpzaE?這里有詳解可以看看。
1) 修改原因:
a) jmeter執(zhí)行結(jié)果文件默認(rèn)保存的不是xml格式,無(wú)法轉(zhuǎn)化成html格式
b) jmeter執(zhí)行結(jié)果文件默認(rèn)有很多執(zhí)行數(shù)據(jù)是不保存的,而測(cè)試報(bào)告需要這些數(shù)據(jù)
2) 配置文件路徑:
${jmeterhome}/bin/jmeter.profile
3) 修改內(nèi)容:
a) 修改jtl 文件格式:
jmeter.save.saveservice.output_format=xml(去掉注釋(#),修改csv 為 xml)
b) 添加jtl 文件結(jié)果參數(shù):
3. 編寫(xiě)ant的build.xml文件
Ant自帶了把XML轉(zhuǎn)化為html的lib庫(kù), 修改如下:
文件架構(gòu)如下:
localtests是我自己創(chuàng)建的一個(gè) 文件夾:存放測(cè)試報(bào)告,里面有 html、jtl? 2個(gè)文件夾自己創(chuàng)建的文件修改了名稱和后綴;.jmx 文件是jmeter測(cè)試腳本。
4. 修改過(guò)的文件,dos 下運(yùn)行ant命令,生成html文件
二.安裝jenkins和配置
這里有兩種安裝方式:
1.下載exe文件,直接點(diǎn)擊下一步,下一步,就完成安裝。具體過(guò)程就不再多說(shuō)。
2.下載war包,放在tomcat的webapps下,啟動(dòng)tomcat就可以訪問(wèn)jenkins(不推薦這種方式)。
windows版本:
1.在官網(wǎng)下載合適的jenkins windows 版本:http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip
這里下載下來(lái)是一個(gè)壓縮包,你可以把他解壓下來(lái)是:jenkins.msi,把它安裝在當(dāng)前系統(tǒng)目錄下:例如:D:\Program Files (x86)\Jenkins。
做好事先準(zhǔn)備jdk安裝包,配置環(huán)境變量
成功安裝之后在瀏覽器中輸入http://localhost:8080/jenkins/(!這里要注意如果8080端口被占用記得把這個(gè)端口換成其他端口例如:8081。)
3.新建項(xiàng)目
新建->item名稱->選擇“自由風(fēng)格”->ok,項(xiàng)目新建成功進(jìn)入配置頁(yè)
4.構(gòu)建觸發(fā)器
想要定時(shí)構(gòu)建,可以選擇Build periodically,日程表參數(shù)解釋如下:
第一個(gè)參數(shù)代表的是分鐘minute,取值0~59;
第二個(gè)參數(shù)代表的是小時(shí)hour,取值0~23;
第三個(gè)參數(shù)代表的是天day,取值1~31;
第四個(gè)參數(shù)代表的是月month,取值1~12;
第五個(gè)參數(shù)代表的是星期week,取值0~7,0和7都代表星期天。
如 0 * * * * 表示每小時(shí)的第0分鐘執(zhí)行一次構(gòu)建。
0 16 * * 1 表示每周一16時(shí)0分執(zhí)行一次。
01 12 * * 1-5表示周一到周五的12點(diǎn)01分執(zhí)行一次
5.引入ant
構(gòu)建->增加構(gòu)建步驟->Invoke Ant->BuildFile 填build文件的地址
6.執(zhí)行任務(wù)
點(diǎn)擊立即構(gòu)建,立即運(yùn)行一次任務(wù)
7.jenkins自帶的報(bào)告插件查看測(cè)試結(jié)果
為了更加方便地查看測(cè)試報(bào)告,插件列表里面添加Publish Performance test result report和Publish HTML reports
項(xiàng)目的配置增加這兩塊:
!!修改xml文件生成jtl和html文件的目錄到j(luò)enkins的工作目錄下(jenkins設(shè)置如此吧,只能讀自己工作目錄的文件,不然要修改jenkins的配置太麻煩了??(?′ω`?)??此處經(jīng)過(guò)挺多波折不細(xì)說(shuō)了)
好了再次保存后運(yùn)行
7.測(cè)試結(jié)果發(fā)布郵件
系統(tǒng)設(shè)置
設(shè)置發(fā)件郵箱信息,注意保持發(fā)件郵箱跟管理員郵箱一致==
項(xiàng)目配置
運(yùn)行一下工程,會(huì)收到郵件~報(bào)告樣式后續(xù)優(yōu)化