diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 4b2df00..819baf4 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -38,6 +38,7 @@ jobs: # 取提交备注首行,脱去换行/双引号/反斜杠(避免破坏 webhook JSON),截断到 200 字符 COMMIT_MSG=$(git log -1 --pretty=%s | tr '\n' ' ' | sed 's/["\\]/ /g' | cut -c1-200) echo "COMMIT_MSG=${COMMIT_MSG}" >> "$GITHUB_ENV" + echo "MB=$(echo ${GITHUB_SHA} | cut -c1-6)" >> "$GITHUB_ENV" # 可选:清空 m2 缓存(仅手动勾选 cache_bust 时) - name: 可选清空 m2 缓存 @@ -55,18 +56,18 @@ jobs: - name: 构建 jar(maven 容器,复用宿主 m2 缓存) run: | set -e - docker rm -f mavenbuild 2>/dev/null || true - docker run -d --name mavenbuild \ + docker rm -f mavenbuild-${MB} 2>/dev/null || true + docker run -d --name mavenbuild-${MB} \ --network infra-infra-net \ -v /opt/docker/projman-m2:/root/.m2 \ -w /build maven:3.6.3-jdk-8 sleep 3600 - docker cp "${PWD}/." mavenbuild:/build/ - docker exec mavenbuild sh -c "printf '%s' 'nexus-reponexus-internalhttp://nexus:8081/repository/maven-public/truetruealwaysnexus-repo' > /root/.m2/settings.xml" - docker exec mavenbuild sh -c 'cd /build && mvn -B -DskipTests clean package' - docker exec mavenbuild sh -c 'cd /build/target && cp *.jar app.jar' + docker cp "${PWD}/." mavenbuild-${MB}:/build/ + docker exec mavenbuild-${MB} sh -c "printf '%s' 'nexus-reponexus-internalhttp://nexus:8081/repository/maven-public/truetruealwaysnexus-repo' > /root/.m2/settings.xml" + docker exec mavenbuild-${MB} sh -c 'cd /build && mvn -B -DskipTests clean package' + docker exec mavenbuild-${MB} sh -c 'cd /build/target && cp *.jar app.jar' mkdir -p "${PWD}/target" - docker cp mavenbuild:/build/target/app.jar "${PWD}/target/app.jar" - docker rm -f mavenbuild + docker cp mavenbuild-${MB}:/build/target/app.jar "${PWD}/target/app.jar" + docker rm -f mavenbuild-${MB} - name: 构建并推送镜像 run: |