diff --git a/.drone.yml b/.drone.yml index bf728a8..0660819 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,6 +29,16 @@ steps: commands: - docker build --build-arg JAVA_OPTS="-Xms512m -Xmx512m" --build-arg ARGS="" -f yudao-server/Dockerfile -t alert-backend:latest yudao-server + - name: sync config to host + image: alpine:3.20 + volumes: + - name: config-dir + path: /opt/alert/alert-backend + commands: + - mkdir -p /opt/alert/alert-backend + - cp yudao-server/src/main/resources/application*.yaml /opt/alert/alert-backend/ + - cp yudao-server/src/main/resources/logback-spring.xml /opt/alert/alert-backend/ + - name: run container image: docker @@ -38,7 +48,7 @@ steps: commands: - docker stop alert-backend || true - docker rm alert-backend || true - - docker run -d --restart always --name alert-backend --network alert-net -p 48080:48080 alert-backend:latest + - docker run -d --restart always --name alert-backend --network alert-net -p 48080:48080 -v /opt/alert/alert-backend:/opt/alert/alert-backend alert-backend:latest volumes: - name: dockersock @@ -47,3 +57,6 @@ volumes: - name: maven-cache host: path: /tmp/.m2 + - name: config-dir + host: + path: /opt/alert/alert-backend diff --git a/yudao-server/Dockerfile b/yudao-server/Dockerfile index 9c09e1f..ddd5ae6 100644 --- a/yudao-server/Dockerfile +++ b/yudao-server/Dockerfile @@ -5,6 +5,17 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eclipse-temurin:21-jre ## 创建目录,并使用它作为工作目录 RUN mkdir -p /yudao-server WORKDIR /yudao-server + +## 配置文件目录,便于挂载到宿主机进行修改 +ARG CONFIG_DIR=/opt/alert/alert-backend +ENV CONFIG_DIR=${CONFIG_DIR} +RUN mkdir -p ${CONFIG_DIR} +VOLUME ${CONFIG_DIR} + +## 将默认配置同步到配置目录,供首次启动或参考 +COPY ./src/main/resources/application*.yaml ${CONFIG_DIR}/ +COPY ./src/main/resources/logback-spring.xml ${CONFIG_DIR}/ + ## 将后端项目的 Jar 文件,复制到镜像中 COPY ./target/yudao-server.jar app.jar @@ -15,9 +26,11 @@ ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom" ## 应用参数 ENV ARGS="" +ENV SPRING_CONFIG_ADDITIONAL_LOCATION=file:${CONFIG_DIR}/ +ENV LOGGING_CONFIG=${CONFIG_DIR}/logback-spring.xml ## 暴露后端项目的 48080 端口 EXPOSE 48080 ## 启动后端项目 -CMD java ${JAVA_OPTS} -jar app.jar $ARGS +CMD java ${JAVA_OPTS} -Dlogging.config=${LOGGING_CONFIG} -jar app.jar --spring.config.additional-location=${SPRING_CONFIG_ADDITIONAL_LOCATION} $ARGS