Jenkins+ant+jmeter+svn環(huán)境部署
一、Jenkins安裝
具體安裝過程見—Linux下安裝JenKins環(huán)境部署.md文件
二舟山、ant 安裝
1、下載 ant安裝包
從http://ant.apache.org上下載tar.gz版ant
wget http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.14-bin.tar.gz
image.png
2、解壓
tar -vxzf apache-ant-1.9.14-bin.tar.gz -C /usr/local? ? 解壓
3、修改環(huán)境變量
vi /etc/profile#ant envexport ANT_HOME=/usr/local/apache-ant-1.9.14export PATH=$PATH:$ANT_HOME/bin
4矩欠、使配置生效
source /etc/profile? ? ? ? source命令 是配置的 環(huán)境變量生效
5倦踢、檢查是否配置成功
ant -version
三炕倘、jmeter的安裝
首先要保證Linux中安裝了jdk
1求冷、下載Jmeter
下載地址:http://jmeter.apache.org/download_jmeter.cgi
wget https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip
image.png
[圖片上傳失敗...(image-4b3b0c-1576120045849)]
2瘤运、傳輸?shù)絣inux系統(tǒng)中,目錄自己可以指定遵倦,
我放在 /usr/local 目錄下
cp apache-jmeter-5.1.1.zip /usr/local/
3尽超、解壓
unzip apache-jmeter-5.1.1.zip
4官撼、配置環(huán)境變量
vi /etc/profile后面追加進行#jmeter envJMETER_HOME=/usr/local/apache-jmeter-5.1.1PATH=$PATH:$JMETER_HOME/binCLASSPATH=.:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATHexport JMETER_HOME PATH CLASSPATH
5梧躺、source生效
source /etc/profile
6、檢查是否配置成功
jmeter -v
image.png
四傲绣、ant與jmeter關(guān)聯(lián)
1掠哥、建立了2個目錄為了保存后續(xù)的html報告跟jtl報告的內(nèi)容
mkdir -p /usr/local/apache-jmeter-5.1.1/smoke_report/htmlmkdir -p /usr/local/apache-jmeter-5.1.1/smoke_report/jtlChmod 777 -R /usr/local/apache-jmeter-5.1.1/smoke_report給這個目錄添加權(quán)限(后續(xù)我在Jenkins運行過程中出現(xiàn)過,因為權(quán)限問題秃诵,無法生存測試報告)Chmod 777 -R /usr/local/apache-jmeter-5.1.1/lib 添加了目錄權(quán)限续搀,后續(xù)中出現(xiàn)過文件,log日志沒有權(quán)限菠净,導(dǎo)致Jenkins運行不成功
2禁舷、將jmeter目錄下的extras目錄下的ant-jmeter-1.1.1.jar文件復(fù)制到ant目錄下的lib文件夾中
cp /usr/local/apache-jmeter-5.1.1/extras/ant-jmeter-1.1.1.jar /usr/local/apache-ant-1.9.14/lib/
3、下載測試報告模板
1毅往、下載style文件:jmeter.results.shanhe.me.xsl
將jmeter-results-shanhe-me.xsl上傳至jmeter安裝目錄的extras文件夾下
cp /home/zgp/jmeter.results.shanhe.me.xsl /usr/local/apache-jmeter-5.1.1/extras/
4牵咙、配置ant編譯文件build.xml
將build.xml放至jmeter目錄下
cp /usr/local/apache-jmeter-5.1.1/extras/build.xml /usr/local/apache-jmeter-5.1.1
修改build.xml文件
vi build.xml
<property name="basedirectory" value="/usr/local/apache-jmeter-5.1.1/extras" />
<property name="jmeter.home" value="/usr/local/apache-jmeter-5.1.1" />
<property name="jmeter.result.jtl.dir" value="/usr/local/apache-jmeter-5.1.1/smoke_report/jtl" />
{test}.jtl" />
{test}.html" />
{jmeter.home}/lib" includes="serializer.jar"/>
{jmeter.result.jtlName}">
.jmx" />
force="true"
in="
{jmeter.result.htmlName}"
style="
{report.datestamp}"/>
{jmeter.home}/extras">
</project>
切記:如果用Jenkins工具通過svn下載的jmx腳本文件位置不一致,這里需要修改
{jmeter.result.jtlName}">
<testplans dir="/var/lib/jenkins/workspace/checkout_svn_data/request_auto" includes=".jmx" />*
5攀唯、jmeter/bin/properities文件
修改jmeter安裝目錄下的jmeter/bin/properities文件洁桌,修改jmeter.save.saveservice.output_format=xml
vi /usr/local/apache-jmeter-5.1.1/bin/jmeter.properties
6、調(diào)試ant配置jmeter是否成功
1侯嘀,腳本已經(jīng)編寫好另凌,并且運行沒有錯誤
2,腳本已經(jīng)發(fā)到到指定的目錄里面
cp login.jmx/var/lib/jenkins/workspace/checkout_svn_data/request_auto/
3戒幔,ant run(檢查構(gòu)建是否成功)
image.png
4吠谢、生成的html報告
image.png
五、Jenkins配置
1诗茎、配置環(huán)境變量
Jenkins中-系統(tǒng)配置-全局工具配置
配置jdk
image.png
查看linux系統(tǒng)java路徑Echo $java_home或者which java[root@192 bin]# which java/usr/bin/java
在后續(xù)跑Jenkins腳本中 發(fā)現(xiàn)多了一個bin跟java工坊,把環(huán)境變量中的bin/java給刪除了(我linux系統(tǒng) 默認(rèn)安裝了java)
2、配置 ant
image.png
/usr/local/apache-ant-1.9.14 目錄為大家linux服務(wù)中 ant路徑位置
3,添加2個插件 系統(tǒng)配置-插件中(完成后重啟Jenkins工具)
image.png
4栅组、Jenkins中添加一個自由風(fēng)項目
image.png
5雀瓢、丟棄舊的構(gòu)建
image.png
6、源碼管理
image.png
代碼下載路徑為? /var/lib/jenkins/workspace/jmeter_ant_jenkins/checkout_svn_data
7玉掸、構(gòu)建觸發(fā)器
image.png
10 15 * * *? 每天下午15點 10分運行一次
8刃麸、構(gòu)建 ant
image.png
9、構(gòu)建HTML報告
image.png
10司浪、構(gòu)建jtl報告
image.png
11泊业、看構(gòu)建成功的結(jié)果
image.png
六、如果Jenkins需要root執(zhí)行權(quán)限
1啊易、修改Jenkins配置文件
# 打開配置文件vim /etc/sysconfig/jenkins# 修改$JENKINS_USER吁伺,并去掉當(dāng)前行注釋$JENKINS_USER="root"
2、修改Jenkins相關(guān)文件夾用戶權(quán)限
chown-Rroot:root/var/lib/jenkinschown-Rroot:root/var/cache/jenkinschown-Rroot:root/var/log/jenkins
3租谈、重啟Jenkins服務(wù)并檢查運行Jenkins的用戶是否已經(jīng)切換為root
# 重啟Jenkins(若是其他方式安裝的jenkins則重啟方式略不同)service jenkins restart# 查看Jenkins進程所屬用戶ps -ef | grep jenkins# 若顯示為root用戶篮奄,則表示修改完成
七、Jenkins performance插件生成性能測試報告
把Jenkins部署好了割去,但是用了之后發(fā)現(xiàn)performance插件有問題窟却,如果按下面這樣設(shè)置統(tǒng)計所有的jtl文件,會導(dǎo)致文件夾過于臃腫呻逆,于是夸赫,而且生成的Performance Trend 比較混亂,不是很直觀咖城,于是思考修改一下
4249725225-5c98d88b22aef_articlex.png
試驗了一下發(fā)現(xiàn)如果多次構(gòu)建后生成在同一個jtl文件里茬腿,解析出的Performance Trend是正確的,但是我原本的設(shè)置中宜雀,jtl文件名是精確到分鐘的切平,需要修改成精確到天的,這樣正好一天的結(jié)果能看的很直觀州袒。
修改不是很難揭绑,總共修改3個地方即可
1.build.xml文件中的時間戳精度
原來是這樣的,郎哭,jtl和html用的是同一個時間變量他匪,咱們需要把這兩個分開來
image.png
修改后如下,也就是多建立一個精確到天的時間變量
image.png
1夸研、插件安裝
系統(tǒng)管理---->插件管理----->可選插件----->搜索Zentimestamp
安裝即可
2邦蜜、插件使用
系統(tǒng)管理---->系統(tǒng)設(shè)置---->全局屬性
image.png
時間格式根據(jù)自已的需要設(shè)定。
3亥至、Job特例時間戳的設(shè)置
打開對應(yīng)的job 我們可以發(fā)現(xiàn)多了一個選項:
image.png
當(dāng)我們不勾選此選項時將采用系統(tǒng)設(shè)置里設(shè)置的格式悼沈。如果勾選此選項將會優(yōu)先采用Job中的時間戳格式贱迟。
注意:
1.如果時間戳的格式填寫不正確,將會導(dǎo)致Job的構(gòu)建失敗絮供。
2.變量名不是BUILD_ID 而是BUILD_TIMESTAMP 在我們想使用的地方直接$BUILD_TIMESTAMP 即可
4衣吠、修改任務(wù)中performance插件的jtl路徑,使用新的時間變量
image.png
5壤靶、設(shè)置好了缚俏,運行看一下
作者:老張_Jason
鏈接:http://www.reibang.com/p/340c7f63f467
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)贮乳,非商業(yè)轉(zhuǎn)載請注明出處忧换。