feat(docker) 重构Docker构建流程,使用多阶段构建并优化CI配置
This commit is contained in:
@@ -1,3 +1,17 @@
|
||||
# 第一阶段:Maven构建阶段
|
||||
FROM --platform=$BUILDPLATFORM maven:3.9.10-eclipse-temurin-8-alpine AS builder
|
||||
|
||||
# 设置阿里云镜像加速
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# 复制POM文件先进行依赖下载(利用Docker缓存)
|
||||
WORKDIR /build
|
||||
COPY . .
|
||||
RUN mvn dependency:go-offline
|
||||
|
||||
# 构建
|
||||
RUN mvn clean package -DskipTests
|
||||
|
||||
FROM --platform=$BUILDPLATFORM openjdk:8-jdk-alpine
|
||||
USER root
|
||||
WORKDIR /app
|
||||
@@ -14,7 +28,9 @@ RUN \
|
||||
# 设置时区
|
||||
RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \
|
||||
echo '${TZ}' > /etc/timezone
|
||||
# 复制包
|
||||
COPY ./orion-visor-launch.jar /app/app.jar
|
||||
|
||||
# 从构建阶段复制jar包
|
||||
COPY --from=builder /build/orion-visor-launch/target/orion-visor-launch.jar /app/app.jar
|
||||
|
||||
# 启动
|
||||
CMD ["java", "-jar", "/app/app.jar"]
|
||||
CMD ["java", "-jar", "/app/app.jar"]
|
||||
Reference in New Issue
Block a user