|
4 | 4 |
|
5 | 5 | ENV JMETER_VERSION apache-jmeter-3.0 |
6 | 6 | ENV JMETER_HOME /opt/$JMETER_VERSION |
7 | | -ENV PATH $JMETER_HOME/bin:$PATH |
| 7 | +ENV PATH $PATH:$JMETER_HOME/bin |
| 8 | +ENV CMDRUNNER_VERSION 2.0 |
| 9 | +ENV PLUGINMGR_VERSION 0.19 |
8 | 10 |
|
9 | 11 | # overridable environment variables |
10 | 12 | ENV RESULTS_LOG results.jtl |
11 | 13 | ENV JMETER_FLAGS= |
| 14 | +ENV JMETER_MEMORY -Xms800m -Xmx800m |
| 15 | +ENV CUSTOM_PLUGIN_URL= |
12 | 16 |
|
13 | 17 | # Install the required tools for JMeter |
14 | 18 | RUN apk add --update --no-cache \ |
15 | 19 | curl \ |
16 | | - openssh-client \ |
17 | | - unzip |
| 20 | + openssh-client |
18 | 21 |
|
19 | 22 | WORKDIR /opt |
20 | 23 |
|
21 | | -# install JMeter and a few Plugins |
| 24 | +# install JMeter and the JMeter Plugins Manager |
22 | 25 | RUN curl -O https://archive.apache.org/dist/jmeter/binaries/$JMETER_VERSION.tgz \ |
23 | 26 | && tar -xvf $JMETER_VERSION.tgz \ |
24 | 27 | && rm $JMETER_VERSION.tgz \ |
25 | 28 | && rm -rf $JMETER_VERSION/docs $JMETER_VERSION/printable_docs \ |
26 | | - && curl -O https://jmeter-plugins.org/files/JMeterPlugins-Standard-1.4.0.zip \ |
27 | | - -O https://jmeter-plugins.org/files/JMeterPlugins-Extras-1.4.0.zip \ |
28 | | - -O https://jmeter-plugins.org/files/JMeterPlugins-ExtrasLibs-1.4.0.zip \ |
29 | | - && unzip -n '*.zip' \ |
30 | | - && rm *.zip |
| 29 | + && cd $JMETER_HOME/lib \ |
| 30 | + && curl -O http://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/$CMDRUNNER_VERSION/cmdrunner-$CMDRUNNER_VERSION.jar \ |
| 31 | + && cd $JMETER_HOME/lib/ext \ |
| 32 | + && curl -O http://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/$PLUGINMGR_VERSION/jmeter-plugins-manager-$PLUGINMGR_VERSION.jar \ |
| 33 | + && java -cp jmeter-plugins-manager-$PLUGINMGR_VERSION.jar org.jmeterplugins.repository.PluginManagerCMDInstaller |
| 34 | + |
| 35 | +# install all available plugins except for those that are deprecated |
| 36 | +RUN PluginsManagerCMD.sh install-all-except jpgc-hadoop,jpgc-oauth \ |
| 37 | + && sleep 2 \ |
| 38 | + && PluginsManagerCMD.sh status |
31 | 39 |
|
32 | 40 | # copy our entrypoint |
33 | 41 | COPY entrypoint.sh /opt/jmeter/ |
34 | | -RUN chmod +x /opt/jmeter/entrypoint.sh |
35 | 42 |
|
36 | 43 | WORKDIR /logs |
37 | 44 |
|
38 | | -EXPOSE 1099 4445 50000 51000 |
| 45 | +EXPOSE 1099 50000 51000 4445/udp |
39 | 46 |
|
40 | 47 | # default command in the entrypoint is 'minion' |
41 | 48 | ENTRYPOINT ["/opt/jmeter/entrypoint.sh"] |
|
0 commit comments