Files
jenkins-pipeline/Dockerfile/java/新的/email_Dockerfile
2025-11-28 11:43:13 +08:00

46 lines
1.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ---- Stage 1: Build with Maven ----
FROM maven:3.8.8-eclipse-temurin-8 AS builder
WORKDIR /build
# 先仅复制 pom.xml 用于依赖缓存
COPY application/pom.xml application/
COPY domain/pom.xml domain/
COPY infrastructure-cn/pom.xml infrastructure-cn/
COPY infrastructure-us/pom.xml infrastructure-us/
COPY infrastructure/pom.xml infrastructure/
COPY interface/pom.xml interface/
COPY start/pom.xml start/
COPY pom.xml .
# 预下载所有依赖pom 不变就不会重新下载
RUN mvn -B dependency:go-offline
# 再复制所有源码
COPY . .
# 开始 Maven 构建配置变量可变us 或 cn, 默认为 us
ARG MAVEN_BUILD_PROFILE=us
RUN mvn clean package -Dmaven.test.skip=true -P${MAVEN_BUILD_PROFILE}
# ---- Stage 2: Runtime ----
FROM mirror.ccs.tencentyun.com/library/openjdk:8-jdk AS runtime
# 创建应用工作目录
WORKDIR /app
ENV LANG=C.UTF-8 \
TZ=Asia/Shanghai \
JAVA_OPTS=""
# 从构建阶段复制 JAR
COPY --from=builder /build/start/target/start-0.0.1-SNAPSHOT.jar /app/flymoon-email.jar
EXPOSE 4997 4998
# 运行时配置可变
ARG RUN_PROFILE=sit-us
ENV SPRING_PROFILES_ACTIVE=${RUN_PROFILE}
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /app/flymoon-email.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE}"]