From 7feafd46435d5ec2757d37369de0fdd8472212a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Wed, 29 Jul 2026 00:21:24 +0800 Subject: [PATCH] fix(update): avoid pulling infrastructure images --- CHANGELOG.md | 2 ++ scripts/update.sh | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9524cb4..11d24f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ MySQL/Redis 模式和 profile 的权威来源,避免托管数据库被备份脚本误判为外部数据库。 - 可选 MySQL 用户配置缺失时不再被 Bash `set -e` 误判为升级致命错误;只有真正 必需的数据库/Redis 密码缺失才会在修改容器前给出明确失败信息。 +- 业务升级只拉取 Xuqm 应用镜像,不再无条件拉取 MySQL、Redis 与 nginx 的 + Docker Hub 基础镜像,避免内网环境长时间阻塞并防止基础设施被意外换版。 ## 2026.06.18-private.1 diff --git a/scripts/update.sh b/scripts/update.sh index 61cf640..ae04f0b 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -508,11 +508,18 @@ if [ "${_pull_choice:-n}" = "y" ] || [ "${_pull_choice:-n}" = "Y" ]; then || warn "镜像仓库登录失败,将尝试使用本地缓存" fi + # 业务升级只拉取 Xuqm 应用镜像。MySQL、Redis 和 nginx 属于基础设施, + # 不应在每次业务升级中访问 Docker Hub 或被意外换版。 + _pull_services=( + tenant-service file-service tenant-web + im-service push-service update-service + bugcollect-service symbolicator + ) docker compose \ --env-file "$ROOT_DIR/.env" \ -f "$ROOT_DIR/docker-compose.yml" \ -f "$ROOT_DIR/docker-compose.infra.yml" \ - pull --ignore-pull-failures 2>/dev/null \ + pull --ignore-pull-failures "${_pull_services[@]}" 2>/dev/null \ && ok "镜像已更新" \ || warn "部分镜像拉取失败,将使用本地缓存继续" else