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用来解决连接新主机时,不进行公钥确认
 

猜你喜欢

转载自www.cnblogs.com/xiehong/p/12214014.html
今日推荐