gpt4 book ai didi

docker - 将 JMeter 插件与 justb4/jmeter Docker 镜像一起使用会导致错误

转载 作者:行者123 更新时间:2023-12-04 07:31:25 25 4
gpt4 key购买 nike

目标
我正在使用 Docker 在 Azure Devops 中运行 JMeter。我正在尝试使用 Blazemeter 的并行 Controller ,它不是 JMeter 原生的。因此,根据 justb4/jmeter 图像文档,我使用以下命令来获取图像并运行 JMeter 测试:

docker run --name jmetertest -i -v /home/vsts/work/1/s/plugins:/plugins -v $ROOTPATH:/test -w /test justb4/jmeter ${@:2}
错误
但是,它在尝试适应插件时会产生以下错误(我知道由于没有插件的测试,插件会有所不同):
cp: can't create '/test/lib/ext': No such file or directory
据我了解,这是当您尝试创建的目录的父目录之一不存在时产生的错误。是我做错了什么,还是图像实际上有问题?
引用文献
作为引用,我将包含指向图像文档和存储库的链接。
图片: https://hub.docker.com/r/justb4/jmeter
存储库: https://github.com/justb4/docker-jmeter

最佳答案

望向 Dockerfile :

ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
调查 entrypoint.sh
if [ -d /plugins ]
then
for plugin in /plugins/*.jar; do
cp $plugin $(pwd)/lib/ext
done;
fi
它基本上是从 /plugins 复制插件。文件夹(如果存在)到 /lib/ext文件夹 相对于当前工作目录
我不知道你为什么要添加这节 -w /test到您的命令行,但它明确“告诉”容器本地工作目录是 /test ,不是 /opt/apache-jmeter-xxxx ,这就是脚本无法复制文件的原因。

总的来说,我认为这种方法不是很有效,因为:
  • 在 Azure DevOps 中,您将没有“本地”文件夹(除非您想在版本控制系统下添加插件二进制文件)
  • 一些 JMeter 插件还有其他 .jar 文件,如 dependencies因此,当您安装插件时,您应该:
  • 将插件本身放在 JMeter 安装的/lib/ext 文件夹下
  • 将插件依赖项放在 JMeter 安装的/lib 文件夹下


  • 所以我建议修改Dockerfile,下载 JMeter Plugins Managerinstalled the plugin(s) you need from the command line
    就像是:
    RUN wget https://jmeter-plugins.org/get/ -O /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar
    RUN wget https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar -P /opt/apache-jmeter-${JMETER_VERSION}/lib/
    RUN java -cp /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller
    RUN /opt/apache-jmeter-${JMETER_VERSION}/bin/./PluginsManagerCMD.sh install bzm-parallel

    关于docker - 将 JMeter 插件与 justb4/jmeter Docker 镜像一起使用会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67911367/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com