From e69e63413862781da419d434a8e268f92195492a Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 10 Aug 2026 11:56:47 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20mavenbuild=20join=20infra-infra-net=20+?= =?UTF-8?q?=20mirror=20HTTP=20repo=20to=20nexus:8081=20maven-public=20(byp?= =?UTF-8?q?ass=20unreachable=20Caddy=20path);=20clear=20stale=20yh.platfor?= =?UTF-8?q?m=20cache=20at=20correct=20path=20/root/.m2/repository/=20?= =?UTF-8?q?=E2=80=94=20fixes=20serverName=20crash=20from=2008-05=20stale?= =?UTF-8?q?=20yh-auth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index afa7eb9..24d43bd 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -57,19 +57,20 @@ jobs: # 而 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 这一行即可。 + # mavenbuild 加入 infra-infra-net,用容器名 nexus 直连 Nexus(8081 maven-public)。 + # 之前用 --add-host=nexus.yunhaixingtong.com:host-gateway 经 Caddy:80 反代,但该路径在 + # CI 容器内不可达,maven 回退到 /opt/docker/ubs-m2 里 08-05 的旧 yh-auth 缓存(缺 + # CasSsoAutoConfiguration),镜像启动报 serverName 崩溃。现改用 settings.xml mirror 把 + # pom 的 HTTP 仓库重定向到 http://nexus:8081/repository/maven-public/(已验证 -7 可达)。 docker run -d --name mavenbuild \ - --add-host=nexus.yunhaixingtong.com:host-gateway \ + --network infra-infra-net \ -v /opt/docker/ubs-m2:/root/.m2 \ -w /build maven:3.6.3-jdk-8 sleep 3600 docker cp "${PWD}/." mavenbuild:/build/ - # 强制清掉宿主 m2 中已缓存的 yh.platform 全部 SNAPSHOT(mavenbuild 的 /root/.m2 - # 即宿主 /opt/docker/ubs-m2,通过 docker.sock 作用于宿主),确保本次重新拉取用户刚 - # re-deploy 的最新 yh-auth(含 CasSsoAutoConfiguration),避免解析到旧的 SNAPSHOT 构建。 - docker exec mavenbuild rm -rf /root/.m2/com/yunhai/platform + # 写 settings.xml:HTTP 仓库 mirror 到 nexus:8081 maven-public(infra-infra-net 内容器名直连) + docker exec mavenbuild sh -c "echo 'nexus-directexternal:http:*http://nexus:8081/repository/maven-public/' > /root/.m2/settings.xml" + # 清掉宿主 m2 真实缓存路径(/root/.m2/repository/)下的旧 yh.platform SNAPSHOT + docker exec mavenbuild rm -rf /root/.m2/repository/com/yunhai/platform docker exec mavenbuild sh -c 'cd /build/service && mvn -U -B -DskipTests clean package' mkdir -p "${PWD}/service/target" docker cp mavenbuild:/build/service/target/userbase.jar "${PWD}/service/target/userbase.jar"