1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Jenkins集成JMeter实现持续性能测试

1987web2023-10-06WEB开发241
JMeter是最受欢迎的开源性能测试工具之一,最近在跟多个用户的聊天中都谈到了JMeter与CI/CD工具集成,我们这个话题来聊一下,如何使用Jenkins和Performanceplugin实现

JMeter 是最受欢迎的开源性能测试工具之一,最近在跟多个用户的聊天中都谈到了JMeter与CI/CD工具集成,我们这个话题来聊一下,如何使用Jenkins和Performance plugin实现持续性能测试。

前提条件

我们在使用Jenkins集成JMeter之前,需要现有一个正常运行状态的Jenkins实例。如果还没有Jenkins实例,您可以使用Jenkins的Docker镜像快速安装一个。安装命令如下:

1
dockerrun -d -p80:8080-p50000:50000-v /root/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins

下载JMeter 到Jenkins的宿主机

到Apache官网下载JMeter,下载地址如下:

1
https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz

由于我们要部署在Linux平台,因此选择下载.tgz后缀的压缩包

JMeter压缩包下载到宿主机的 `/root/jenkins_home/tools’目录下,并使用 · tar -zxvf ·进行解压

1
tar-zxvfapache-jmeter-5.4.3.tgz

解压后,验证JMeter在Jenkins Docker容器中是否可以正常启动.

1.查看Jenkins Docker容器名称或ID

[root@jenkins-mastertools]dockerps|grepjenkinsde0d56bd751ejenkins/jenkins:lts"/sbin/tini -- /usr/…"3monthsagoUp2hours0.0.0.0:50000->50000/tcp,:::50000->50000/tcp,0.0.0.0:8085->8080/tcp,:::8085->8080/tcp

2.以Root用户方式进入Jenkins容器

[root@jenkins-master tools]docker exec -it -u root jenkins bashroot@de0d56bd751e:/

3.切换到jenkins的tools目录下

root@de0d56bd751e:/var/jenkins_home/tools/apache-jmeter-5.4.3/bincd /var/jenkins_home/tools/apache-jmeter-5.4.3/bin

3.检查JMeter在Jenkins容器中是否可以正常运行

root@de0d56bd751e:/var/jenkins_home/tools/apache-jmeter-5.4.3/bin/var/jenkins_home/tools/apache-jmeter-5.4.3/bin/jmeter --version_________________________________________/ \| _ \ / \ / ___|| || ____|| |\/| ____|__| ____|_\
 /_\| |_) /_\| || |_| |_| _ || |\/| |_| || |_| ||_) |/ ___\| __/ ___ \ |___| _ ||___ ||_|| || ||___ || ||___|_</_/\_\_| /_/ \_\____|_| |_|_____|\___/|_||_|_____| |_| |_____|_|\_\5.4.3Copyright (c)1999-2021The Apache Software Foundation

显示了JMeter的Logo和版本说明JMeter可以正常运行了。

Jenkins安装Performance plugin

进入Jenkins以后通过【Manage Jenkins】-[Mangage Plugins]在 Available 标签中查找Performance Plugin,并选择该插件进行安装,安装后重启Jenkins。

编写一个JMeter性能测试场景

我们通过一个录制的方法编写一个性能测试场景。以GUI模式运行JMeter,创建一个测试计划DevOpsToolsTestPlan,测试计划中添加一个线程组(Thread Group)和2 个HTTP Request

HTTPS 请求访问https://devopstools.cnHTTPS 请求访问https://devopstools.cn/2021/11/08/bdd/cucumber-java-ct/

GUI中点击运行【Run】按钮,测试脚本是否正常。

最后把性能测试脚本上传到Git仓库,Jenkins中访问Git仓库实现加载测试计划并运行测试计划。Git仓库中性能测试仓库地址为:

1
https://gitee.com/devopstools/jenkins-jmeter-demo.git

Jenkins中创建流水线

Jenkins中创建流水线工程名称为Jenkins-JMeter-Demo。

pipeline {
    agent any
    
    tools{
        gitDefault}
    
    options { timeout(time: 2, unit:HOURS) }
    

    
    stages {
        
        stage(获取代码){
            steps{echo---SCM---git credentialsId:devopstools, url:https://gitee.com/devopstools/jenkins-jmeter-demo.git}
        }
       
        stage("性能测试") {
            steps {echo---PerformanceTest---sh"pwd"sh"/var/jenkins_home/tools/apache-jmeter-5.4.3/bin/jmeter -j jmeter.save.saveservice.output_format=xml -n -Jthreadcount=5 -t DevOpsToolsTestPlan.jmx -l reports/DevOpsToolsTestPlan.report.jtl"}
        }   
        
       stage("性能测试报告") {
        steps {echo---Performance Reports---perfReport filterRegex:, showTrendGraphs:true, sourceDataFiles:reports/*.jtl}
     } 
    
    }
}

运行Jenkins流水线可以查看到性能测试结果Jenkins上查看性能趋势图

Jenkins上查看性能指标

欢迎关注,后续将配解说视频。性能测试源码地址为Gitee仓库,如有需要请发私信。