diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 819baf4..80f4242 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -25,7 +25,22 @@ jobs: options: --network infra-infra-net steps: - name: 安装 git / curl(alpine) - run: apk add --no-cache git curl + run: | + set -e + # runner 容器偶发拉不到公网 apk 源(dl-cdn.alpinelinux.org 报 Permission denied 并卡满 60s×2), + # 这里先按可达性挑一个能通的镜像源再装包,避免整条流水线卡死在第一步、后续步骤全被 skip + chosen="" + for host in dl-cdn.alpinelinux.org mirrors.aliyun.com mirrors.cloud.tencent.com mirrors.huaweicloud.com; do + if wget -q -T 6 -O /dev/null "https://${host}/alpine/v3.20/main/x86_64/APKINDEX.tar.gz"; then + chosen="${host}" + break + fi + echo "apk 源不可达: ${host}" + done + if [ -z "${chosen}" ]; then echo "所有 apk 源均不可达,请检查 runner 容器网络/代理"; exit 1; fi + echo "使用 apk 源: ${chosen}" + sed -i "s#dl-cdn.alpinelinux.org#${chosen}#g" /etc/apk/repositories + apk add --no-cache git curl # 内网 Gitea 无法访问 GitHub 拉 actions/checkout,手动 clone 本仓库 - name: 拉取源码(内网无 GitHub,手动 clone 本仓库)