首页 > 解决方案 > 如何通过詹金斯通过远程服务器运行jmeter测试

问题描述

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

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

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

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

  2. 詹金斯工作

我创建了一个 jenkins 管道作业: Stage1:在 jenkins master 中签出 jmeter stage2:在 jenkins master stage3 中签出最新脚本:运行 jmeter 远程测试 -
使用的命令:sh ''' chmod u+x jmeter/bin/jmeter.sh jmeter/bin/jmeter.sh -n -t path/where/jenkins/checked/latest/test/test.jmx -R 10.XXX -l results.jtl'''

并且它一直显示处理......除非我触发手动关机。

所以,我正在寻找两件事

. 任何想法表示赞赏。先感谢您!

标签: jmeterjenkins-pipeline

解决方案


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

  1. 从 Jenkins 使用Jenkins SSH 插件
  2. 从 JMeter 本身使用OS Process SamplerSSH 命令插件(在这种情况下,您将有 2 个脚本,一个将设置所有内容,另一个将是分布式模式下的主要测试。

推荐阅读