docker - Docker 中的 Jenkins 和 Jmetere
问题描述
我是码头工人世界的新手。我正在尝试通过 Jenkins 运行 JMeter 脚本。我在本地机器上成功了,但现在我想在 docker 中做同样的事情。我在本地机器上使用的命令:
jmeter -n -t sample-test/sample-test.jmx -l results/test.csv -e -o results/test.html
我创建了一个 docker-compose.yml 文件,看起来像
version: '3.3'
services:
jmeter_master:
container_name: jmeter_master
build:
context: ./jmeter_master
dockerfile: Dockerfile
tty: true
hostname: master
networks:
- vins
volumes:
- ./sample_test:/results
jmeter_slave01:
container_name: jmeter_slave01
build:
context: ./jmeter_slave
dockerfile: Dockerfile
tty: true
hostname: master
networks:
- vins
networks:
vins:
driver: bridge
这里的想法是使用 JMeter 从站进行“分布式测试”。我出于测试目的运行它并得到了预期的结果(HTML 报告)。我使用过的命令:
docker-compose up
docker exec -it jmeter_master /bin/bash
jmeter -n -t sample-test/sample-test.jmx -l sample-test/test.csv -e -o sample-test/test.html -R172.21.0.3,172.21.0.4
现在我不知道如何继续工作。我想在 Jenkins 中运行 JMeter 命令,该命令也应该在 docker 容器中,但我不确定如何实现。我应该在 docker-compose.yml 中再添加一项 Jenkins 服务吗?如何访问其他容器并运行命令或我走错路了?谢谢大家。
解决方案
到目前为止,我没有看到 Jenkins 和 JMeter 之间有任何连接(除非您在Dockerfiles中指定了某些内容)
如果您想使用 Jenkins 编排 JMeter 构建,您需要:
- 创建一个将启动 JMeter 测试的作业,有关详细信息,请参阅持续集成 101:如何使用 Jenkins 运行 JMeter
- 添加 Jenkins 容器作为构建代理
- 您可以使用Jenkins 远程访问 API开始工作并获得基本结果
- 如果您需要高级报告,请查看Jenkins Performance Plugin
推荐阅读
- python - 如何将迭代的字符串变量放在另一个字符串中
- angularjs - 如何使用一台 Express 服务器为两个 AngularJS 应用程序提供服务?
- apache - 错误:无法找到或加载主类 org.apache.nutch.crawl.Generator (Nutch 1.14)
- python - 在numpy python中向量化特征值计算
- windows-7 - 用于复制所选文件的自定义上下文菜单选项未按预期工作
- python - 在 Mac 上使用 Python 释放后,对象可能已被修改
- java - 404 错误 - 源服务器没有找到目标资源的当前表示或不愿意透露存在的表示
- r - R中矩阵的优化
- c++ - 在 Crypto++ 中将密钥传递给 AES 解密
- azure - 无法通过端口 8888 访问 Azure VM