1. 程式人生 > 實用技巧 >jmeter-4-linux下環境搭建 jmeter+ant+jenkins,持續整合測試完成

jmeter-4-linux下環境搭建 jmeter+ant+jenkins,持續整合測試完成

前言

jmeter + ant + jenkins 本篇將開始學習Linux下搭建,完成持續整合測試的demo。

一、必備環境

1、jdk(docker安裝jenkins的小夥伴請忽略此步驟)

2、jmeter

3、ant

4、jenkins(本篇是docker安裝的jenkins,其它方式安裝也型別一樣部署)

5、git 或 gitlab 或無程式碼託管(build.xml、jmx、等樣式程式碼)

以上必備環境如果沒有安裝好那麼請詳細看這篇(jenkins/git/gitlab需自行安裝,這裡不展開):https://www.cnblogs.com/gsxl/p/13660988.html

【docker-jenkins重點】

1、將jmeter目錄掛載到jenkins容器目錄;

我docker-jenkins掛載目錄為/root/jenkins/,我已將jmeter、ant掛載至此,如下:

[root@iZbp19lugf22zbsubsf1y6Z jenkins]# pwd
/root/jenkins
[root@iZbp19lugf22zbsubsf1y6Z jenkins]# ll
total 292
drwxr-xr-x   6 root root  4096 May 10 21:42 apache-ant-1.9.15
drwxr-xr-x   8 root root  4096 Jan  2  1970 apache-jmeter-5.3

2、將ant目錄掛載到jenkins容器目錄,且設定環境變數;

設定容器內部環境變數:

①檢視jenkins容器:

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
a14a6692e225        jenkinsci/blueocean    "/sbin/tini -- /usr/…"   8 months ago        Up 2 hours          0.0.0.0:50000->50000/tcp, 0.0.0.0:3006->8080/tcp   jenkins
[root@iZbp19lugf22zbsubsf1y6Z ~]# 

②進入容器bash:

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker exec -it a14a6692e225 /bin/bash
bash-4.3$ 

③設定ant環境變數,且執行生效;

將以下複製貼上至最後一行:vi/etc/profile

# ANT_HOME
ANT_HOME=/var/jenkins_home/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
export PATH=$PATH:$ANT_HOME/lib

bash-4.3$ vi /etc/profile

export CHARSET=UTF-8
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1='\h:\w\$ '
umask 022

for script in /etc/profile.d/*.sh ; do
        if [ -r $script ] ; then
                . $script
        fi
done


# ANT_HOME
ANT_HOME=/var/jenkins_home/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
export PATH=$PATH:$ANT_HOME/lib

④環境變數生效及驗證版本:

命令:source /etc/profile

bash-4.3$ source /etc/profile
a14a6692e225:/$ ant -version
Apache Ant(TM) version 1.9.15 compiled on May 10 2020
a14a6692e225:/$ 

3、build.xml需改為jenkins容器內部目錄路徑;總共五個地方,詳細看build.xml檔案

如我的:/var/jenkins_home/workspace/workName

二、jenkins設定

如未在Linux下安裝 jenkins 可以參考這篇的 docker 安裝 jenkins:https://www.cnblogs.com/gsxl/p/12129333.html(本篇將是把jmeter、ant都掛載到jenkins容器目錄)

1、開啟報告樣式(否則你的報告沒有css、js,因為jenkins會遮蔽防止被攻擊),所以需要在,jenkins設定中的【Script Console】“指令碼命令列”執行一條語句:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

2、安裝外掛(安裝後重啟jenkins):HTML Publisher plugin、Antplugin

直接搜尋安裝:HTML Publisher plugin、Ant

3、jenkins - 全域性配置設定 - 新增Ant - name隨便寫一個,目錄就寫容器內的ant目錄;

4、新建job【自由風格專案】

這是我的git託管地址:https://github.com/git-gsxl/jmeter-ant.git build.xml檔案中需要改5個地方

①引數化,新增:branch (構建可以指定分支名稱)

②Git:程式碼託管地址

③ant 命令執行

④報告目錄編寫

以上步驟詳細看下面圖,另外演示:設定遠端構建令牌

4、手動觸發構建,輸入git或其它程式碼託管的分支名稱,執行後檢視報告

最後還可以加入釘釘提醒:

加入shell:

#!/bin/bash -l

echo "釘釘通知" curl 'https://oapi.dingtalk.com/robot/send?access_token=你的釘釘機器人token' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": {"content": "總結報告:http://ip:3006/job/'$JOB_NAME'/'$BUILD_ID'/InterfaceReport"}, "at": {"isAtAll": true} }'

1、提醒檢視:

2、機器人發的訊息:

3、點選連結跳轉進入:

當然shell還有這強大的功能,三劍客的使用你可以對html報告進行一個讀取,檢視多少成功率、總執行用例多少、返回超2s的多少,失敗的有多少數量等等;

舉個例子:我們要顯示,①總介面數量:xxx ②成功率:xxx

是可以通過shell三劍客來讀html報告得出結果,再通過變數的方式傳入釘釘傳送引數,這樣能更完善釘釘通知多能檢視到的資訊。

最後歡迎來大家QQ交流群一起學習:482713805