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