From a73e314929790c91eb6d2cc97891eb5e40953e05 Mon Sep 17 00:00:00 2001 From: Grand-cocoa <1075576561@qq.com49111108+grand-cocoa@users.noreply.github.com> Date: Wed, 12 Nov 2025 13:46:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(docker):=E4=BC=98=E5=8C=96Docker=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E6=B5=81=E7=A8=8B=E5=B9=B6=E6=9B=B4=E6=96=B0=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入Maven构建阶段,使用多阶段构建优化镜像大小 - 更新Dockerfile以支持JDK17的构建环境 - 从Git工作流中移除冗余的JDK设置和Maven命令 - 使用COPY指令替代ADD指令以提高Docker层缓存效率 - 确保构建产物正确复制到最终镜像中 --- .gitea/workflows/auto-build.yaml | 18 +++++++++--------- Dockerfile | 9 ++++++++- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/auto-build.yaml b/.gitea/workflows/auto-build.yaml index 5f75a73..d87cf4e 100644 --- a/.gitea/workflows/auto-build.yaml +++ b/.gitea/workflows/auto-build.yaml @@ -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 ./ diff --git a/Dockerfile b/Dockerfile index f3bd48a..4bfe8f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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