1. 概述
本文将指导您使用Jenkins和Apache JMeter配置持续交付管道。
我们将利用JMeter文章作为理解JMeter基础的优秀起点,因为它已经包含了可以运行的一些性能测试。我们将使用该项目的构建输出来查看由Jenkins Performance插件生成的报告。
2. 配置Jenkins
首先,我们需要下载Jenkins的最新稳定版本,并导航至包含文件的文件夹中,然后通过java -jar jenkins.war命令运行它。
请记住,在没有初始用户设置的情况下,我们无法使用Jenkins。
3. 安装性能插件
接下来,让我们安装Performance插件,这是运行和显示JMeter测试所必需的:
现在,我们需要重启实例。
4. 使用Jenkins运行JMeter测试
现在,请访问Jenkins主页并点击“创建新工作”,指定名称,选择Freestyle项目并点击“确定”。
如下图所示:
在从GitHub克隆项目、编译代码、在端口8989上打开并处理性能测试之后,我们需要让性能插件以用户友好的方式显示结果。
可以通过添加专用的Post-build Actions来实现这一目标。需要提供结果源文件并配置操作:
我们选择标准模式并进行后续配置:
点击保存后,在Jenkins仪表板的左侧菜单中点击按钮立即构建,等待完成我们配置的操作。
完成后,将在控制台看到项目的全部输出。最后,我们会得到成功完成:成功或完成:失败:
点击左侧菜单中的性能报告区域,可以看到所有过往构建包括当前构建的报告:
点击表格上方的指示,仅查看我们刚刚创建的构建的结果:
从项目仪表板中,我们可以获取性能趋势,这是展示最后构建结果的其他图表:
node {
stage 'Build, Test and Package'
git 'https://github.com/eugenp/tutorials.git'
dir('jmeter') {
sh "./mvnw clean install -DskipTests"
sh 'nohup ./mvnw spring-boot:run -Dserver.port=8989 &'
sh "while ! httping -qc1
http://localhost:8989 ; do sleep 1 ; done"
sh "jmeter -Jjmeter.save.saveservice.output_format=xml
-n -t src/main/resources/JMeter.jmx
-l src/main/resources/JMeter.jtl"
step([$class: 'ArtifactArchiver', artifacts: 'JMeter.jtl'])
sh "pid=\$(lsof -i:8989 -t); kill -TERM \$pid || kill -KILL \$pid"
}
}
此脚本首先克隆项目,进入目标模块,编译并运行以确保应用可访问于http://localhost:8989。
接下来,我们在资源文件夹中运行JMeter测试,将结果保存为构建输出,最后关闭应用程序。
5. 总结
在这篇快速文章中,我们建立了一个简单的持续交付环境,以两种方式在Jenkins中运行和展示Apache JMeter测试:首先通过Freestyle项目,其次通过Pipeline。
如往常一样,本文的源代码可以在GitHub上找到。