From 30bf66b30757de81bf2f171ef68acf29709529a7 Mon Sep 17 00:00:00 2001 From: saas-backend-agent Date: Thu, 17 Sep 2026 07:16:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20ACR=20=E4=B8=B4=E6=97=B6=E5=88=87?= =?UTF-8?q?=E5=9B=9E=E9=BB=98=E8=AE=A4=E5=9F=9F=E5=90=8D=20registry.cn-han?= =?UTF-8?q?gzhou.aliyuncs.com=EF=BC=88=E8=87=AA=E5=AE=9A=E4=B9=89=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=20114.55.99.108:443=20=E6=8B=92=E7=BB=9D=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .gitea/workflows/*.yml: docker login/REGISTRY/ACR_IMAGE/ACR_REGISTRY - scripts/ci/*.sh, scripts/ci/*.py: ACR_REGISTRY/GRAY_REGISTRY/REGISTRY 默认值 - 共 12 个文件 31 处替换 - 待 ACR 自定义域名恢复后可切回 --- .gitea/workflows/acr-cleanup.yml | 2 +- .gitea/workflows/api-base-image.yml | 6 +++--- .gitea/workflows/ci-pipeline.yml | 24 ++++++++++++------------ .gitea/workflows/worker-base-image.yml | 6 +++--- scripts/ci/acr_cleanup.py | 2 +- scripts/ci/canary_release.sh | 6 +++--- scripts/ci/rebuild-api-base-image.sh | 2 +- scripts/ci/retag_skipped_image.sh | 2 +- scripts/ci/sync_base_images.sh | 2 +- scripts/ci_production_deploy.sh | 4 ++-- scripts/ci_production_healthcheck.sh | 4 ++-- scripts/ci_staging_deploy.sh | 2 +- 12 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.gitea/workflows/acr-cleanup.yml b/.gitea/workflows/acr-cleanup.yml index d752e4531..9af510d90 100644 --- a/.gitea/workflows/acr-cleanup.yml +++ b/.gitea/workflows/acr-cleanup.yml @@ -29,7 +29,7 @@ jobs: permissions: contents: read env: - ACR_REGISTRY: xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com + ACR_REGISTRY: registry.cn-hangzhou.aliyuncs.com ACR_NAMESPACE: xiaoxiakeji ACR_SERVICE: registry.aliyuncs.com:cn-hangzhou:china:cri-fvec8o9q4mmxrkaa GITEA_URL: https://git.xiaoxiajianji.com diff --git a/.gitea/workflows/api-base-image.yml b/.gitea/workflows/api-base-image.yml index 41770e936..adcde8b77 100644 --- a/.gitea/workflows/api-base-image.yml +++ b/.gitea/workflows/api-base-image.yml @@ -37,7 +37,7 @@ jobs: set -eu for i in 1 2 3; do echo "=== Docker login 尝试 $i/3 ===" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break @@ -50,7 +50,7 @@ jobs: shell: sh run: | set -eu - ACR_IMAGE="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/saas-api-base:latest" + ACR_IMAGE="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/saas-api-base:latest" GITEA_IMAGE="git.xiaoxiajianji.com/xiaoxia-saas/saas-api-base:latest" echo "=== Building API base image ===" @@ -79,6 +79,6 @@ jobs: if: always() shell: sh run: | - ACR_IMAGE="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/saas-api-base:latest" + ACR_IMAGE="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/saas-api-base:latest" docker rmi "${ACR_IMAGE}" 2>/dev/null || true echo "Cleanup done" diff --git a/.gitea/workflows/ci-pipeline.yml b/.gitea/workflows/ci-pipeline.yml index 8105fad5f..974e89f65 100755 --- a/.gitea/workflows/ci-pipeline.yml +++ b/.gitea/workflows/ci-pipeline.yml @@ -778,7 +778,7 @@ jobs: set -eu for i in 1 2 3; do echo "Docker login attempt $i/3" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "Docker login successful" break fi @@ -791,7 +791,7 @@ jobs: shell: sh run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" BASE_IMAGE="${REGISTRY}/saas-worker-base:latest" # 尝试拉取基础镜像 @@ -809,7 +809,7 @@ jobs: shell: sh run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" IMAGE_TAG="${REGISTRY}/${{ matrix.image_name }}:pr-${GITHUB_SHA}" CACHE_REF="${REGISTRY}/${{ matrix.cache_name }}:develop" @@ -951,7 +951,7 @@ jobs: # Docker login 带重试(网络波动时自动重试) for i in 1 2 3; do echo "=== Docker login 尝试 $i/3 ===" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break fi @@ -980,7 +980,7 @@ jobs: ACR_PASSWORD: "${{ secrets.ACR_PASSWORD }}" run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" BASE_IMAGE="${REGISTRY}/saas-worker-base:latest" echo "检查 Worker 基础镜像..." @@ -997,7 +997,7 @@ jobs: shell: sh run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" IMAGE_FULL="${REGISTRY}/${{ matrix.image_name }}" IMAGE_TAG="${IMAGE_FULL}:${GITHUB_SHA}" # 同时推分支 tag,作为未重建镜像 retag 的稳定来源 @@ -1099,7 +1099,7 @@ jobs: run: | set -eu for i in 1 2 3; do - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break @@ -1111,7 +1111,7 @@ jobs: shell: sh run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" bash scripts/ci/retag_skipped_image.sh \ "${REGISTRY}/${{ matrix.image_name }}" \ "${GITHUB_SHA}" \ @@ -1208,7 +1208,7 @@ jobs: # Docker login 带重试(网络波动时自动重试) for i in 1 2 3; do echo "=== Docker login 尝试 $i/3 ===" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break fi @@ -1513,7 +1513,7 @@ jobs: # Docker login 带重试(网络波动时自动重试) for i in 1 2 3; do echo "=== Docker login 尝试 $i/3 ===" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break fi @@ -1542,7 +1542,7 @@ jobs: shell: bash run: | set -eu - REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" + REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" # 根据ref类型设置镜像标签:tag用版本号,分支用分支名+sha TAG_NAME="${GITHUB_SHA}" IMAGE_TAG="${REGISTRY}/${{ matrix.image_name }}:${TAG_NAME}" @@ -1831,7 +1831,7 @@ jobs: - deploy-staging if: "github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'develop')" env: - ACR_REGISTRY: xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com + ACR_REGISTRY: registry.cn-hangzhou.aliyuncs.com ACR_NAMESPACE: xiaoxiakeji steps: - name: Checkout code diff --git a/.gitea/workflows/worker-base-image.yml b/.gitea/workflows/worker-base-image.yml index 159253079..1f218591f 100644 --- a/.gitea/workflows/worker-base-image.yml +++ b/.gitea/workflows/worker-base-image.yml @@ -38,7 +38,7 @@ jobs: set -eu for i in 1 2 3; do echo "=== Docker login 尝试 $i/3 ===" - if printf '%s' "${ACR_PASSWORD}" | docker login xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ + if printf '%s' "${ACR_PASSWORD}" | docker login registry.cn-hangzhou.aliyuncs.com -u "${ACR_USERNAME}" --password-stdin \ && docker login git.xiaoxiajianji.com -u "${GITEA_REGISTRY_USER}" -p "${GITEA_REGISTRY_TOKEN}"; then echo "✅ Docker login successful" break @@ -51,7 +51,7 @@ jobs: shell: sh run: | set -eu - ACR_IMAGE="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/saas-worker-base:latest" + ACR_IMAGE="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/saas-worker-base:latest" GITEA_IMAGE="git.xiaoxiajianji.com/xiaoxia-saas/saas-worker-base:latest" echo "=== Building Worker base image ===" @@ -80,7 +80,7 @@ jobs: if: always() shell: sh run: | - ACR_IMAGE="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/saas-worker-base:latest" + ACR_IMAGE="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/saas-worker-base:latest" docker rmi "${ACR_IMAGE}" 2>/dev/null || true docker image prune -f 2>/dev/null || true echo "Cleanup done" diff --git a/scripts/ci/acr_cleanup.py b/scripts/ci/acr_cleanup.py index 5b3967b3d..d55f97d59 100755 --- a/scripts/ci/acr_cleanup.py +++ b/scripts/ci/acr_cleanup.py @@ -40,7 +40,7 @@ from datetime import UTC, datetime, timedelta # ========== 配置 ========== -REGISTRY = os.environ.get("ACR_REGISTRY", "xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com") +REGISTRY = os.environ.get("ACR_REGISTRY", "registry.cn-hangzhou.aliyuncs.com") AUTH_URL = "https://dockerauth.cn-hangzhou.aliyuncs.com/auth" SERVICE = os.environ.get("ACR_SERVICE", "registry.aliyuncs.com:cn-hangzhou:china:cri-fvec8o9q4mmxrkaa") NAMESPACE = os.environ.get("ACR_NAMESPACE", "xiaoxiakeji") diff --git a/scripts/ci/canary_release.sh b/scripts/ci/canary_release.sh index 9b6a49b12..4e51fe1f7 100755 --- a/scripts/ci/canary_release.sh +++ b/scripts/ci/canary_release.sh @@ -38,9 +38,9 @@ PRODUCTION_SSH_HOST="${PRODUCTION_SSH_HOST:-47.98.113.167}" PRODUCTION_SSH_USER="${PRODUCTION_SSH_USER:-root}" PRODUCTION_SSH_PORT="${PRODUCTION_SSH_PORT:-22222}" # gray_deploy.sh 的镜像命名格式是 ${REGISTRY}-component:tag -# 需要与 ACR 镜像名 xiaoxia-registry.../xiaoxiakeji/xiaoxia-saas-api:tag 匹配 -GRAY_REGISTRY="${GRAY_REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/xiaoxia-saas}" -ACR_REGISTRY_HOST="${ACR_REGISTRY_HOST:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com}" +# 需要与 ACR 镜像名 registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/xiaoxia-saas-api:tag 匹配 +GRAY_REGISTRY="${GRAY_REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/xiaoxia-saas}" +ACR_REGISTRY_HOST="${ACR_REGISTRY_HOST:-registry.cn-hangzhou.aliyuncs.com}" ACR_USERNAME="${ACR_USERNAME:-}" ACR_PASSWORD="${ACR_PASSWORD:-}" SKIP_ROLLBACK="${SKIP_ROLLBACK:-false}" diff --git a/scripts/ci/rebuild-api-base-image.sh b/scripts/ci/rebuild-api-base-image.sh index 34994d3de..3ea62b342 100755 --- a/scripts/ci/rebuild-api-base-image.sh +++ b/scripts/ci/rebuild-api-base-image.sh @@ -10,7 +10,7 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" -REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" +REGISTRY="registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji" IMAGE_NAME="saas-api-base" TAG="latest" FULL_TAG="${REGISTRY}/${IMAGE_NAME}:${TAG}" diff --git a/scripts/ci/retag_skipped_image.sh b/scripts/ci/retag_skipped_image.sh index 58b6c6d42..43a0ec8b4 100755 --- a/scripts/ci/retag_skipped_image.sh +++ b/scripts/ci/retag_skipped_image.sh @@ -2,7 +2,7 @@ # CI 步骤:未重建的镜像,把 registry 上一个分支 tag 复制为新 SHA tag # 保证 deploy-staging 的 Watchtower 链路三个镜像都有新 SHA 可拉 # 用法: bash scripts/ci/retag_skipped_image.sh -# 例: bash scripts/ci/retag_skipped_image.sh xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji/xiaoxia-saas-web develop +# 例: bash scripts/ci/retag_skipped_image.sh registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji/xiaoxia-saas-web develop set -eu IMAGE="$1" diff --git a/scripts/ci/sync_base_images.sh b/scripts/ci/sync_base_images.sh index b0f2bf072..79b914130 100755 --- a/scripts/ci/sync_base_images.sh +++ b/scripts/ci/sync_base_images.sh @@ -7,7 +7,7 @@ set -euo pipefail -ACR_REGISTRY="${ACR_REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji}" +ACR_REGISTRY="${ACR_REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji}" ACR_USERNAME="${ACR_USERNAME:-}" ACR_PASSWORD="${ACR_PASSWORD:-}" SOURCE_PREFIX="${SOURCE_PREFIX:-docker.m.daocloud.io/library}" diff --git a/scripts/ci_production_deploy.sh b/scripts/ci_production_deploy.sh index b5c5df2cb..8f8a79c79 100644 --- a/scripts/ci_production_deploy.sh +++ b/scripts/ci_production_deploy.sh @@ -7,7 +7,7 @@ # 环境变量: # IMAGE_TAG - 镜像版本 tag(如 commit SHA 或分支名) # REGISTRY_TOKEN - Registry 访问令牌 -# REGISTRY - Registry 地址(默认 xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji) +# REGISTRY - Registry 地址(默认 registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji) # REGISTRY_USER - Registry 用户名(默认 xiaoxia) # ENV_FILE - 环境变量文件路径 # GENERATED_DIR - 生成文件目录 @@ -52,7 +52,7 @@ retry_docker_pull() { } IMAGE_TAG="${IMAGE_TAG:-}" -REGISTRY="${REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji}" +REGISTRY="${REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji}" REGISTRY_USER="${ACR_USERNAME:-${REGISTRY_USER:-nick0415343655}}" REGISTRY_TOKEN="${ACR_PASSWORD:-${REGISTRY_TOKEN:-}}" diff --git a/scripts/ci_production_healthcheck.sh b/scripts/ci_production_healthcheck.sh index b38c40c2e..c3d546a2f 100644 --- a/scripts/ci_production_healthcheck.sh +++ b/scripts/ci_production_healthcheck.sh @@ -44,7 +44,7 @@ PRODUCTION_SSH_HOST="${PRODUCTION_SSH_HOST:-47.98.113.167}" PRODUCTION_SSH_USER="${PRODUCTION_SSH_USER:-root}" PRODUCTION_SSH_PORT="${PRODUCTION_SSH_PORT:-22222}" -REGISTRY="${REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji}" +REGISTRY="${REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji}" REGISTRY_USER="${REGISTRY_USER:-xiaoxia}" # 颜色 @@ -232,7 +232,7 @@ set -eu IMAGE_TAG="$1" REGISTRY_TOKEN="$2" -REGISTRY="${REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji}" +REGISTRY="${REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji}" REGISTRY_USER="${REGISTRY_USER:-xiaoxia}" ENV_FILE="${ENV_FILE:-/var/lib/xiaoxia-saas-production/.env}" diff --git a/scripts/ci_staging_deploy.sh b/scripts/ci_staging_deploy.sh index 7a704e822..384901e57 100755 --- a/scripts/ci_staging_deploy.sh +++ b/scripts/ci_staging_deploy.sh @@ -39,7 +39,7 @@ retry_docker_pull() { } IMAGE_TAG="${IMAGE_TAG:-}" -REGISTRY="${REGISTRY:-xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji}" +REGISTRY="${REGISTRY:-registry.cn-hangzhou.aliyuncs.com/xiaoxiakeji}" REGISTRY_USER="${ACR_USERNAME:-${REGISTRY_USER:-nick0415343655}}" REGISTRY_TOKEN="${ACR_PASSWORD:-${REGISTRY_TOKEN:-}}"