diff --git a/README.md b/README.md index 14466e8..bdbcb0f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Kangal-JMeter base docker image is build together with JMeter plugin-manager and - jpgc-fifo - used for [Inter-Thread Communication](https://jmeter-plugins.org/wiki/InterThreadCommunication/) - jpgc-functions - used for [Custom JMeter Functions](https://jmeter-plugins.org/wiki/Functions/) - jpgc-tst=2.5 - [Throughput Shaping Timer](https://jmeter-plugins.org/wiki/ThroughputShapingTimer/) -- jpgc-casutg=2.6 - [Concurrency Thread Group](https://jmeter-plugins.org/wiki/ConcurrencyThreadGroup/#Concurrency-Thread-Group) +- jpgc-casutg=2.9 - [Concurrency Thread Group](https://jmeter-plugins.org/wiki/ConcurrencyThreadGroup/#Concurrency-Thread-Group) - cmdrunner-2.2 - JMeter specific [Command Line Tool](https://jmeter-plugins.org/wiki/JMeterPluginsCMD/#JMeterPluginsCMD-Command-Line-Tool) - postgresql-42.5.1 [JDBC driver for working with PostgreSQL](https://jdbc.postgresql.org/download.html) used to send requests directly from JMeter to DB - mongo-java-driver-3.12.11 - [MongoDB Java Driver](https://github.com/mongodb/mongo-java-driver) including the mongodb-driver-core (the core library), the mongodb-driver, and the BSON library diff --git a/docker/jmeter-base/Dockerfile b/docker/jmeter-base/Dockerfile index da4290b..cb5942f 100644 --- a/docker/jmeter-base/Dockerfile +++ b/docker/jmeter-base/Dockerfile @@ -1,33 +1,38 @@ -FROM openjdk:11-jre-slim +FROM eclipse-temurin:11-jre LABEL maintainer="team-platform@hellofresh.com" ARG JMETER_VERSION -ENV JMETER_HOME /opt/apache-jmeter-$JMETER_VERSION -ENV PATH $JMETER_HOME/bin:$PATH -ENV HEAP -Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m +ENV JMETER_HOME=/opt/apache-jmeter-$JMETER_VERSION +ENV PATH=$JMETER_HOME/bin:$PATH +ENV HEAP="-Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m" RUN apt-get clean \ - && apt-get update \ - && apt-get install --quiet --yes --no-install-recommends \ - curl vim procps \ - && rm -rf /var/lib/apt/lists/* + && apt-get update \ + && apt-get install --quiet --yes --no-install-recommends \ + curl vim procps \ + && rm -rf /var/lib/apt/lists/* RUN curl -o /opt/apache-jmeter-$JMETER_VERSION.tgz \ - https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz -L \ - && tar -xzf /opt/apache-jmeter-$JMETER_VERSION.tgz --directory /opt \ - && rm /opt/apache-jmeter-$JMETER_VERSION.tgz \ - && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/ext/plugins-manager.jar -L \ - https://jmeter-plugins.org/get/ \ - && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/cmdrunner-2.3.jar -L \ - https://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/2.3/cmdrunner-2.3.jar \ - && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/postgresql-42.5.1.jar -L \ - https://jdbc.postgresql.org/download/postgresql-42.5.1.jar \ - && rm /opt/apache-jmeter-$JMETER_VERSION/lib/mongo-java-driver-*.jar \ - && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/mongo-java-driver-3.12.11.jar -L \ - https://search.maven.org/remotecontent?filepath=org/mongodb/mongo-java-driver/3.12.11/mongo-java-driver-3.12.11.jar \ - && java -cp /opt/apache-jmeter-$JMETER_VERSION/lib/ext/plugins-manager.jar \ - org.jmeterplugins.repository.PluginManagerCMDInstaller \ - && PluginsManagerCMD.sh install jpgc-fifo,jpgc-functions,jpgc-tst=2.5,jpgc-casutg=2.6 + https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz -L \ + && tar -xzf /opt/apache-jmeter-$JMETER_VERSION.tgz --directory /opt \ + && rm /opt/apache-jmeter-$JMETER_VERSION.tgz \ + && echo "Downloading plugin manager" \ + && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/ext/plugins-manager.jar -L \ + https://jmeter-plugins.org/get/ \ + && echo "Downloading cmdrunner" \ + && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/cmdrunner-2.3.jar -L \ + https://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/2.3/cmdrunner-2.3.jar \ + && echo "Downloading postgresql" \ + && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/postgresql-42.5.1.jar -L \ + https://jdbc.postgresql.org/download/postgresql-42.5.1.jar \ + && rm /opt/apache-jmeter-$JMETER_VERSION/lib/mongo-java-driver-*.jar \ + && echo "Downloading mongo-java-driver" \ + && curl -o /opt/apache-jmeter-$JMETER_VERSION/lib/mongo-java-driver-3.12.11.jar -L \ + https://search.maven.org/remotecontent?filepath=org/mongodb/mongo-java-driver/3.12.11/mongo-java-driver-3.12.11.jar \ + && java -cp /opt/apache-jmeter-$JMETER_VERSION/lib/ext/plugins-manager.jar \ + org.jmeterplugins.repository.PluginManagerCMDInstaller \ + && echo "Install plugins" \ + && PluginsManagerCMD.sh install jpgc-fifo,jpgc-functions,jpgc-tst=2.5,jpgc-casutg=2.9 WORKDIR /opt/apache-jmeter-$JMETER_VERSION diff --git a/docker/jmeter-master/Dockerfile b/docker/jmeter-master/Dockerfile index f05df02..01e67c1 100644 --- a/docker/jmeter-master/Dockerfile +++ b/docker/jmeter-master/Dockerfile @@ -3,14 +3,24 @@ FROM hellofresh/kangal-jmeter:$JMETER_VERSION ARG JMETER_VERSION -ENV SSL_DISABLED false -ENV WORKER_SVC_NAME jmeter-worker -ENV TESTS_DIR /tests -ENV SLEEP 5 -ENV USE_WORKERS false +ENV SSL_DISABLED=false +ENV WORKER_SVC_NAME=jmeter-worker +ENV TESTS_DIR=/tests +ENV SLEEP=5 +ENV USE_WORKERS=false -RUN apt-get update && \ - apt-get --quiet --yes install awscli +# Prevent interactive prompts during build +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl \ + unzip \ + && curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \ + && unzip awscliv2.zip \ + && ./aws/install \ + && rm -rf awscliv2.zip ./aws \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* COPY mysql-connector-java-5.1.47-bin.jar /opt/apache-jmeter-$JMETER_VERSION/lib/ COPY jmeter.properties /opt/apache-jmeter-$JMETER_VERSION/bin/ diff --git a/docker/jmeter-worker/Dockerfile b/docker/jmeter-worker/Dockerfile index 6d6d48d..dea864e 100644 --- a/docker/jmeter-worker/Dockerfile +++ b/docker/jmeter-worker/Dockerfile @@ -1,8 +1,8 @@ ARG JMETER_VERSION FROM hellofresh/kangal-jmeter:$JMETER_VERSION -ENV SSL_DISABLED false +ENV SSL_DISABLED=false EXPOSE 1099 50000 -ENTRYPOINT "$JMETER_HOME/bin/jmeter-server" "-Dserver.rmi.localport=50000" "-Dserver_port=1099" "-Dserver.rmi.ssl.disable=$SSL_DISABLED" +ENTRYPOINT ["$JMETER_HOME/bin/jmeter-server", "-Dserver.rmi.localport=50000", "-Dserver_port=1099", "-Dserver.rmi.ssl.disable=$SSL_DISABLED"]