first commit
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled

This commit is contained in:
2025-09-06 16:08:15 +08:00
commit 63285f61aa
2624 changed files with 88491 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
FROM node:16.20.1-buster AS frontend
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wget \
&& wget -qO- https://github.com/metersphere/metersphere/archive/refs/tags/v1.15.4.tar.gz | tar xz --strip-components 1 -C /usr/src \
&& cd /usr/src/frontend \
&& npm install \
&& npm run build
FROM maven:3.9.3 AS backend
LABEL maintainer="phithon <root@leavesongs.com>"
COPY --from=frontend /usr/src /usr/src
RUN set -ex \
&& cd /usr/src/backend \
&& mvn clean package dependency:copy-dependencies
FROM openjdk:8u342-jdk
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends wait-for-it \
&& mkdir -p /opt/metersphere/conf /opt/jmeter/bin \
&& chmod +x /docker-entrypoint.sh \
&& rm -rf /var/lib/apt/lists/*
COPY --from=backend /usr/src/backend/target/classes/ /opt/metersphere/
COPY --from=backend /usr/src/backend/src/main/resources/jmeter/bin/* /opt/jmeter/bin/
COPY --from=backend /usr/src/backend/target/wars/ /opt/metersphere/lib/
COPY metersphere.properties /opt/metersphere/conf/metersphere.properties
WORKDIR /opt/metersphere
EXPOSE 5005 8081
ENTRYPOINT [ "bash", "/docker-entrypoint.sh" ]
CMD [ "java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005", "-cp", ".:./lib/*", "io.metersphere.Application" ]

View File

@@ -0,0 +1,8 @@
#!/bin/bash
set -e
wait-for-it -t 0 "${MYSQL_SERVER}" -- echo "MySQL is up"
wait-for-it -t 0 "${KAFKA_SERVER}" -- echo "Kafka is up"
exec "$@"

View File

@@ -0,0 +1,27 @@
# 数据库配置
spring.datasource.url=jdbc:mysql://${MYSQL_SERVER}/${MYSQL_DB}?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=${MYSQL_USERNAME}
spring.datasource.password=${MYSQL_PASSWORD}
# kafka 配置node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理
kafka.partitions=1
kafka.replicas=1
kafka.topic=JMETER_METRICS
kafka.test.topic=JMETER_TESTS
kafka.bootstrap-servers=${KAFKA_SERVER}
kafka.log.topic=JMETER_LOGS
kafka.report.topic=JMETER_REPORTS
# node-controller 所使用的 jmeter 镜像版本
# jmeter.image=registry.fit2cloud.com/metersphere/jmeter-master:0.0.6
# TCP Mock 端口范围
tcp.mock.port=10000-10010
# Redis 配置
# spring.redis.host={REDIS_IP}
# spring.redis.port=6379
# spring.redis.password=Password123@redis
# 启动模式lcoal 表示以本地开发模式启动
run.mode=local