From e21bd27813b10608f7216896cf8cc9f790496a49 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 10 Aug 2026 09:29:20 +0800 Subject: [PATCH] fix: drop duplicate docker.sock volume (act_runner mounts it by default) --- .gitea/workflows/ci.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ea09a10..52d7b56 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -48,16 +48,24 @@ jobs: - name: Build jar with Maven run: | - # nexus.yunhaixingtong.com 仅在用户本机 hosts 中指向 160 的 nexus 容器; + # 注意:job 容器通过 docker.sock 调的是【宿主 docker daemon】, + # 因此 docker run -v 里的路径会被宿主按【宿主路径】解析; + # 而 act 工作区是宿主上的 docker volume,容器内 $PWD 对宿主不可见, + # 直接 -v $PWD:/build 会绑成空目录导致找不到 pom.xml。 + # 故改为:起 maven 容器 -> docker cp 源码入容器 -> exec 构建 -> cp 产物回工作区。 + # nexus.yunhaixingtong.com 仅在用户本机 hosts 指向 160 的 nexus 容器, # 160 上该域名不可解析,故在 maven 容器内用 --add-host 映射到宿主(Caddy:80), # 由 Caddy 反代到 nexus:8081 的 maven-public(匿名可读,已验证 200)。 # 等真实域名就绪、公网可解析后,删除下面 --add-host 这一行即可。 - docker run --rm \ + docker run -d --name mavenbuild \ --add-host=nexus.yunhaixingtong.com:host-gateway \ -v /opt/docker/ubs-m2:/root/.m2 \ - -v $PWD:/build -w /build/service \ - maven:3.6.3-jdk-8 \ - mvn -B -DskipTests clean package + -w /build maven:3.6.3-jdk-8 sleep 3600 + docker cp "${PWD}/." mavenbuild:/build/ + docker exec mavenbuild sh -c 'cd /build/service && mvn -B -DskipTests clean package' + mkdir -p "${PWD}/service/target" + docker cp mavenbuild:/build/service/target/userbase.jar "${PWD}/service/target/userbase.jar" + docker rm -f mavenbuild - name: Login to Nexus docker registry run: echo "${{ secrets.NEXUS_PASSWORD }}" | docker login nexus:8083 -u ${{ secrets.NEXUS_USER }}