# 构建阶段
FROM maven:3.9-eclipse-temurin-17 AS builder

WORKDIR /build

# 复制本地 Maven 仓库（已缓存的依赖）
COPY .m2-repo /root/.m2/repository

# 复制源码
COPY pom.xml .
COPY src ./src

# 离线编译
RUN mvn clean package -DskipTests -B -o

# 运行阶段
FROM eclipse-temurin:17-jre-jammy

LABEL maintainer="JohnSion"
LABEL description="武术比赛管理系统后端服务"

WORKDIR /app

COPY --from=builder /build/target/blade-api.jar /app/blade-api.jar

EXPOSE 8123

HEALTHCHECK --interval=30s --timeout=3s --start-period=90s --retries=3   CMD curl -f http://localhost:8123/actuator/health || exit 1

ENV JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"
ENV SPRING_PROFILE="docker"

CMD ["sh", "-c", "java ${JAVA_OPTS} -jar /app/blade-api.jar --spring.profiles.active=${SPRING_PROFILE}"]
