trace/Dockerfile
Lee 85ac8274f9
Some checks failed
Java Maven 3.9.9 & JDK 26 CI/CD Pipeline / build-and-deploy (push) Failing after 1m4s
初始化项目
2026-06-08 15:56:28 +08:00

29 lines
1.3 KiB
Docker

# === 第一阶段:使用 Maven 3.9.9 + JDK 26 进行编译打包 ===
FROM maven:3.9.16-eclipse-temurin-26 AS builder
WORKDIR /app
# 1. 配置阿里云 Maven 镜像加速下载(可选,国内服务器强烈推荐)
RUN mkdir -p /root/.m2
RUN echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors></settings>' > /root/.m2/settings.xml
# 2. 复制源码并编译
COPY pom.xml .
COPY src ./src
# 执行打包,跳过单元测试以加快 CI/CD 速度
RUN mvn clean package -DskipTests
# === 第二阶段:使用轻量级 JDK 26 运行时镜像 ===
FROM eclipse-temurin:26-jre
WORKDIR /app
# 从第一阶段的 builder 中,把生成的 jar 包复制过来
# (请确保你的 pom.xml 最终打包出来的名字能匹配上,或者可以写死特定的 jar 包名)
COPY --from=builder /app/target/*.jar app.jar
# 暴露端口(根据你的 Spring Boot 实际端口调整)
EXPOSE 8080
# 针对 JDK 26 优化的启动命令(默认开启一些现代 GC 特性)
ENTRYPOINT ["java", "-jar", "app.jar"]