如何通过jenkins在远程服务器上运行jmeter测试

时间:2018-08-14 10:48:09

标签: jmeter jenkins-pipeline

我正在使用一台linux机器(例如m1)[一台openStack机器]来运行我的jmeter测试。 我的典型过程是将最新的jmx文件放在这台计算机上,并在以下命令中触发: nohup / path / to / jmeter / bin / jmeter -n -t /path/to/script/test.jmx -l /path/to/resultsFolder/results.jtl

现在,我想通过jenkins作业触发相同的测试,该作业实际上应该执行与上述相同的活动。

我执行两个活动(一个活动是在m1上手动触发jmeter-server,另一个活动是通过m1运行jenkins作业以运行测试)

  1. 启动jmeter服务器 在m1上手动运行以下命令(SERVER_PORT = 1099 nohup / path / to / jmeter / bin / jmeter-server)

  2. 詹金斯·乔布斯

我创建了一个詹金斯管道作业: 阶段1:在Jenkins Master中检出Jmeter stage2:在jenkins master中检出最新脚本 stage3:运行jmeter远程测试-
         使用的命令: 嘘 chmod u + x jmeter / bin / jmeter.sh jmeter / bin / jmeter.sh -n -t path / where / jenkins / checked / latest / test / test.jmx -R 10.X.X.X -l results.jtl'''

  • Stage1和stage2完美运行。

  • 第3阶段:控制台输出如下所示

    • jmeter / bin / jmeter.sh -n -t jmeter / bin / jmeter.sh -n -t path / where / jenkins / checked / latest / test / test.jmx -R 10.XXX -l results.jtl
  • 创建摘要器
  • 使用path / where / jenkins / checked / latest / test / test.jmx成功创建树
  • 配置远程引擎:10.X.X.X
  • 启动远程引擎
  • 开始测试@ 2018年8月14日星期二10:41:46(1534236106818)
  • 远程引擎已启动
  • 等待端口4445上可能的关闭消息

它会一直显示处理中.........,除非我触发手动关机。

所以,我正在寻找两件事

  • 通过jenkins作业本身在从属节点上启动jmeter-server的机制
  • 通过远程计算机运行测试(可以在负载计算机中运行并从那里触发测试)

。任何想法表示赞赏。预先谢谢你!

1 个答案:

答案 0 :(得分:2)

您可以通过至少两种方式在远程从站上启动jmeter服务器:

  1. 从詹金斯使用Jenkins SSH Plugin
  2. 从JMeter本身使用OS Process SamplerSSH Command plugin(在这种情况下,您将有2个脚本,一个将设置所有脚本,另一个将成为分布式模式下的主要测试。