jenkins集成jmeter-進階篇


1、gitlab自動觸發jenkins構建

1⃣️安裝插件:

 

 

2⃣️新建工程,設置git url,build when a change is pushed

 

 

 auto.sh

/bin/sh echo "123456"

3⃣️gitlab -》 個人頭像 -〉settings -》Access Tokens 創建tokens:yxzwM2AxVxZFdr9uydx4

4⃣️配置jenkins服務器 (unuseful) 系統管理-》系統設置-> gitlab相關部分

 點擊Add,添加上一步生成的token

5⃣️配置gitlab工程
選擇已有工程或者新建一個工程,settings-》integrations,URL、Token為第二步紅色框里的值

 

 創建webhook后,點擊test下push event 測試一番,可手動產生事件,觸發jenkins工程

 然后點擊Edit,頁面底部查看該webhook最近調用情況;點擊view details查看詳細調用情況

 在jenkins相應工程中出現構建歷史

 

 當auto.sh有修改、提交后(只要第5⃣️步配置的工程有提交),該工程便會自動構建

2、查看性能測試曲線圖

構建【將測試結果文件生成測試報告】:執行jmeter -g result.jtl -o reports/

 構建后操作 【publish performance test result report】-依賴插件performance plugin

 【立即構建】

添加性能曲線圖時各選項的作用;
jmeter -n -t login.jmx -l result.jtl -e -o report  ==??==> jmeter -n -t login.jmx -l result.jtl;jmeter -g result.jtl -o report  

 3、jenkins 參數化構建

參數化構建:依賴插件(Extended Choice Parameter)

 配置頁面-參數化構建過程-增加Extended choice parameter

 

保存后出現build with parameters

 

 啟動遠程服務器命令(remote_startup.sh 傳git)

jmete分布式壓測指定多個遠程機器cd/
Tips:遠程啟動jmeter -R,需要進入jmeter bin路徑  當前路徑需存在rmi_keystore.jks

 

了解參數化構建各選項的作用
對每個擴展參數展示描述文本-done
腳本待完善
1⃣啟動命令前檢查是否已啟動;若已啟動需要殺掉多個進程,xargs無效 - done
2⃣傳多個參數時,需要循環遠程連接 - done
remote_startup.sh
#!/bin/sh   IFS=',' remote_host_arr=($1)   for host in ${remote_host_arr[@]} do pid=$(sshpass -p password ssh -Tq -p 9800 ceshi@$host  "ps -ef | grep jmeter-server | grep -v grep | awk  '{print $2}'"| awk '{print $2}'|xargs) sshpass -p password ssh -Tq -p 9800 ceshi@$host << remotessh sudo -s cd /usr/local/Jmeter/apache-jmeter-5.0/bin/ echo $pid echo ${#pid} if [ -n "$pid" ]; then kill -9 $pid fi export JAVA_HOME="/usr/local/soft/jdk8" nohup sh jmeter-server > nohup.out 2>&1 & exit remotessh done

4、Jenkins Run Performance test 

1⃣新建任務后,在【構建步驟】部分包含【Run Performance test】 
    依賴插件Performance Plugin 並且jenkins服務器需要python2.7+,
    和bzt (pip install bzt) 或者 virtualenv(pip install virtualenv)

  

說明:jenkins的性能插件主要使用Taurus工具執行壓測  http://jenkinsci.github.io/performance-plugin/RunTests.html 
本機可以不安裝jmeter,Taurus會嘗試將最新的jmeter和相關插件安裝到〜/ .bzt / jmeter-taurus / bin / jmeter
Taurus為許多開源測試工具提供不同的執行程序,如JMeter,Selenium,Gatling,Grinder等。默認執行程序是JMeter,因此如果您已經使用JMeter創建了一個JMX文件,那么使用Taurus運行它是非常容易的!只需使用bzt命令后跟JMX路徑。
2⃣ 新建任務 - Run performance test
 
3⃣立即構建 
    第一次構建運行時間會比較長,因為要下載jmeter安裝包
    (已安裝bzt的情況-會自動在~/.bzt/路徑下安裝最新版jmeter)

  (沒有安裝bzt,安裝有virtualenv的情況-會先在虛擬環境安裝bzt)

 構建成功后,可查看測試報告<每次構建結果曲線圖>,類似

1、壓測服pressure1安裝bzt失敗,待解決 【本機可安裝成功】;或者需要安裝 virtualenv ,在jenkins中安裝bzt。
    (如果pip install bzt失敗,則即使安裝了virtualenv,安裝bzt仍然會失敗)
2、jmeter非自帶的插件是否會自動安裝 --- 會;是否可以進行分布式壓測
3、bzt語法、參數、yaml腳本等等

5、jenkins集成多個git倉庫

安裝插件-Multiple SCMs

 配置多個git地址

當配置多個倉庫時,直接構建任務會出現第一個配置獲取的代碼被第二個配置的覆蓋,最后只能保留下來最后一次拉取的代碼
這樣不是我們想要的效果,由於拉取代碼會直接將代碼放入任務工程目錄,也就是以你創建任務的名字目錄,
所以下一個任務會對上一個覆蓋,這個時候我們可以將每個倉庫-或其中一個倉庫拉取的代碼放入獨立的目錄中

 執行shell的時候指定正確的路徑

 參考資料

gitlab自動觸發jenkins構建: https://blog.csdn.net/tq08g2z/article/details/79718425

其它

1,ssh-copy-id "-p 9800 ceshi@host"   可將本機公鑰放入遠程機器,使用ssh無密遠程登錄
2,gitlab自動觸發jenkins創建,若腳本是帶參數的,自動構建時使用默認參數
3,ssh遠程登錄時增加-o StrictHostKeyChecking=no用來解決連接新主機時,不進行公鑰確認
 

 

 

 


免責聲明!

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



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