refactor: 添加构建jmeter镜像的dockerfile
This commit is contained in:
parent
ebefc9df76
commit
265232b5e6
|
@ -0,0 +1,37 @@
|
||||||
|
FROM alpine:latest
|
||||||
|
LABEL maintainer="support@fit2cloud.com"
|
||||||
|
|
||||||
|
ENV JMETER_VERSION "5.2.1"
|
||||||
|
|
||||||
|
#定义时区参数
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
|
||||||
|
RUN apk update && \
|
||||||
|
apk upgrade && \
|
||||||
|
apk add --update openjdk8-jre wget tar bash && \
|
||||||
|
wget https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/apache-jmeter-${JMETER_VERSION}.tgz && \
|
||||||
|
wget https://jmeter-plugins.org/files/packages/jpgc-casutg-2.9.zip && \
|
||||||
|
wget https://jmeter-plugins.org/files/packages/jpgc-tst-2.5.zip && \
|
||||||
|
wget https://github.com/metersphere/jmeter-backend-listener-kafka/releases/download/v1.0.2/jmeter.backendlistener.kafka-1.0.2.jar && \
|
||||||
|
wget https://github.com/metersphere/jmeter-plugins-for-apache-dubbo/releases/download/2.7.7/jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar && \
|
||||||
|
mkdir -p /opt/jmeter && \
|
||||||
|
tar -zxf apache-jmeter-${JMETER_VERSION}.tgz -C /opt/jmeter/ --strip-components=1 && \
|
||||||
|
unzip -o jpgc-casutg-2.9.zip -d /tmp/ && mv /tmp/lib/ext/jmeter-plugins-casutg-2.9.jar /opt/jmeter/lib/ext && \
|
||||||
|
unzip -o jpgc-tst-2.5.zip -d /tmp/ && mv /tmp/lib/ext/jmeter-plugins-tst-2.5.jar /opt/jmeter/lib/ext && \
|
||||||
|
mv jmeter.backendlistener.kafka-1.0.2.jar /opt/jmeter/lib/ext && \
|
||||||
|
mv jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar /opt/jmeter/lib/ext && \
|
||||||
|
rm -rf apache-jmeter-${JMETER_VERSION}.tgz && \
|
||||||
|
rm -rf jpgc-casutg-2.9.zip && \
|
||||||
|
rm -rf jpgc-tst-2.5.zip && \
|
||||||
|
rm -rf jmeter.backendlistener.kafka-1.0.2.jar && \
|
||||||
|
rm -rf jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar && \
|
||||||
|
rm -rf /var/cache/apk/* && \
|
||||||
|
wget -O /usr/bin/tpl https://github.com/schneidexe/tpl/releases/download/v0.5.0/tpl-linux-amd64 && \
|
||||||
|
chmod +x /usr/bin/tpl && \
|
||||||
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo "$TZ" > /etc/timezone
|
||||||
|
|
||||||
|
ENV JMETER_HOME /opt/jmeter
|
||||||
|
ENV PATH $PATH:$JMETER_HOME/bin
|
||||||
|
|
||||||
|
ADD log4j2.xml $JMETER_HOME/bin/log4j2.xml
|
||||||
|
ADD jmeter.properties $JMETER_HOME/bin/jmeter.properties
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,116 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<Configuration status="WARN" packages="org.apache.jmeter.gui.logging">
|
||||||
|
|
||||||
|
<Appenders>
|
||||||
|
|
||||||
|
<File name="jmeter-log" fileName="${sys:jmeter.logfile:-jmeter.log}" append="false">
|
||||||
|
<PatternLayout>
|
||||||
|
<pattern>%d %p %c{1.}: %m%n</pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</File>
|
||||||
|
|
||||||
|
<GuiLogEvent name="gui-log-event">
|
||||||
|
<PatternLayout>
|
||||||
|
<pattern>%d %p %c{1.}: %m%n</pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</GuiLogEvent>
|
||||||
|
<Kafka name="Kafka" topic="${env:LOG_TOPIC}">
|
||||||
|
<PatternLayout pattern="${env:REPORT_ID} ${env:RESOURCE_ID} %date %message"/>
|
||||||
|
<Property name="bootstrap.servers">${env:BOOTSTRAP_SERVERS}</Property>
|
||||||
|
</Kafka>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="jmeter-log" />
|
||||||
|
<AppenderRef ref="gui-log-event" />
|
||||||
|
<AppenderRef ref="Kafka" />
|
||||||
|
</Root>
|
||||||
|
|
||||||
|
<Logger name="org.apache.jmeter.junit" level="debug" />
|
||||||
|
<!--
|
||||||
|
<Logger name="org.apache.jmeter.control" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.testbeans" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.engine" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.threads" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.gui" level="warn" />
|
||||||
|
<Logger name="org.apache.jmeter.testelement" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.util" level="warn" />
|
||||||
|
<Logger name="org.apache.jmeter.protocol.http" level="debug" />
|
||||||
|
-->
|
||||||
|
<!-- # For CookieManager, AuthManager etc: -->
|
||||||
|
<!--
|
||||||
|
<Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.protocol.ftp" level="warn" />
|
||||||
|
<Logger name="org.apache.jmeter.protocol.jdbc" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.protocol.java" level="warn" />
|
||||||
|
<Logger name="org.apache.jmeter.testelements.property" level="debug" />
|
||||||
|
-->
|
||||||
|
<Logger name="org.apache.jorphan" level="info" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
# Apache HttpClient logging examples
|
||||||
|
-->
|
||||||
|
<!-- # Enable header wire + context logging - Best for Debugging -->
|
||||||
|
<!--
|
||||||
|
<Logger name="org.apache.http" level="debug" />
|
||||||
|
<Logger name="org.apache.http.wire" level="error" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- # Enable full wire + context logging -->
|
||||||
|
<!-- <Logger name="org.apache.http" level="debug" /> -->
|
||||||
|
|
||||||
|
<!-- # Enable context logging for connection management -->
|
||||||
|
<!-- <Logger name="org.apache.http.impl.conn" level="debug" /> -->
|
||||||
|
|
||||||
|
<!-- # Enable context logging for connection management / request execution -->
|
||||||
|
<!--
|
||||||
|
<Logger name="org.apache.http.impl.conn" level="debug" />
|
||||||
|
<Logger name="org.apache.http.impl.client" level="debug" />
|
||||||
|
<Logger name="org.apache.http.client" level="debug" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
# Reporting logging configuration examples
|
||||||
|
-->
|
||||||
|
<!-- # If you want to debug reporting, uncomment this line -->
|
||||||
|
<!-- <Logger name="org.apache.jmeter.report" level="debug" /> -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
# More user specific logging configuration examples.
|
||||||
|
-->
|
||||||
|
<!-- <Logger name="org.apache.jorphan.reflect" level="debug" /> -->
|
||||||
|
<!--
|
||||||
|
# Warning: Enabling the next debug line causes javax.net.ssl.SSLException: Received fatal alert: unexpected_message
|
||||||
|
for certain sites when used with the default HTTP Sampler
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Logger name="org.apache.jmeter.util.HttpSSLProtocolSocketFactory" level="debug" />
|
||||||
|
<Logger name="org.apache.jmeter.util.JsseSSLManager" level="debug" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
# Enable Proxy request debug
|
||||||
|
-->
|
||||||
|
<!-- <Logger name="org.apache.jmeter.protocol.http.proxy.HttpRequestHdr" level="debug" /> -->
|
||||||
|
|
||||||
|
</Loggers>
|
||||||
|
|
||||||
|
</Configuration>
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM registry.fit2cloud.com/metersphere/jmeter-base:latest
|
||||||
|
LABEL maintainer="support@fit2cloud.com"
|
||||||
|
|
||||||
|
EXPOSE 60000
|
||||||
|
ENV SSL_DISABLED true
|
||||||
|
ENV TESTS_DIR /test
|
||||||
|
|
||||||
|
ADD run-test.sh /run-test.sh
|
||||||
|
RUN chmod +x /run-test.sh \
|
||||||
|
&& mkdir /test \
|
||||||
|
&& mkdir /jmeter-log
|
||||||
|
|
||||||
|
WORKDIR /jmeter-log/
|
||||||
|
ENTRYPOINT /run-test.sh
|
|
@ -0,0 +1,4 @@
|
||||||
|
for file in ${TESTS_DIR}/*.jmx; do
|
||||||
|
echo "one shot run."
|
||||||
|
jmeter -n -t ${file} -Jserver.rmi.ssl.disable=${SSL_DISABLED}
|
||||||
|
done
|
Loading…
Reference in New Issue