feat(docker):优化Docker构建流程并更新构建环境
All checks were successful
Auto-build / Automatic-Packaging (push) Successful in 6m6s

- 引入Maven构建阶段,使用多阶段构建优化镜像大小
- 更新Dockerfile以支持JDK17的构建环境
- 从Git工作流中移除冗余的JDK设置和Maven命令
- 使用COPY指令替代ADD指令以提高Docker层缓存效率
- 确保构建产物正确复制到最终镜像中
This commit is contained in:
Grand-cocoa 2025-11-12 13:46:52 +08:00
parent 6dc9640c6b
commit a73e314929
2 changed files with 17 additions and 10 deletions

View File

@ -11,15 +11,15 @@ jobs:
- name: Checkout Git Repo
uses: https://git.alina-dace.info/actions/checkout@v4
- run: pwd
- name: Set up JDK 17
uses: https://git.alina-dace.info/actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- run: chmod +x ./mvnw
- name: build
run: ./mvnw clean package -DskipTests=true -P prod
# - name: Set up JDK 17
# uses: https://git.alina-dace.info/actions/setup-java@v4
# with:
# java-version: '17'
# distribution: 'temurin'
# cache: maven
# - run: chmod +x ./mvnw
# - name: build
# run: ./mvnw clean package -DskipTests=true -P prod
- name: Docker build
working-directory: ${{ env.CLONED_REPO_DIR }}
run: docker build -t animo-server:latest ./

View File

@ -1,3 +1,10 @@
FROM maven:3.8.4-openjdk-17 AS builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN mvn clean package -DskipTests=true -P prod
FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
LABEL maintainer="Kane / Arina Dace / Sakura Reimi"
@ -5,6 +12,6 @@ LABEL maintainer="Kane / Arina Dace / Sakura Reimi"
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ADD ./target/animo.jar /app.jar
COPY --from=builder /app/target/*.jar /app.jar
ENTRYPOINT exec java -jar /app.jar