fix(deploy): 固定配套服务版本并同步已核验网关镜像
Test deployment public URL (Linux) / test-linux (push) Canceled after 0s

This commit is contained in:
easyai02
2026-10-09 03:12:50 +08:00
parent 63ef9be83a
commit 94f9313e24
4 changed files with 56 additions and 8 deletions
+25
View File
@@ -21,6 +21,8 @@ if [[ "${1:-}" =~ ^(-h|--help)$ ]]; then
echo " 仅拉取并重建指定服务;不重建其依赖。留空保持整组更新。"
echo " UPDATE_RELEASE_VERSION=固定版本"
echo " 通过脚本固定核心服务和转换 Worker 的镜像版本,不提升 latest。"
echo " UPDATE_GATEWAY_VERSION=固定版本 / UPDATE_UPDATER_VERSION=固定版本"
echo " 仅对已选中的网关或更新服务固定已核验镜像。"
echo " UPDATE_ADOPT_LEGACY_CONFIG=1"
echo " 备份旧部署配置并将本地差异迁移为独立覆盖文件。"
echo " UPDATE_RESTORE_REPOSITORY_IMAGES='easyai-web'"
@@ -109,6 +111,22 @@ if [ -n "${UPDATE_RELEASE_VERSION:-}" ] && ! [[ "$UPDATE_RELEASE_VERSION" =~ ^[0
exit 1
fi
# 配套服务可独立更新;固定版本不得改变未选中服务的环境。
for option in UPDATE_GATEWAY_VERSION UPDATE_UPDATER_VERSION; do
value="${!option:-}"
[ -n "$value" ] || continue
if ! [[ "$value" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]{8}(\.[0-9]+)?$ ]]; then
echo "❌ $option 格式不正确;尚未修改配置或容器" >&2
exit 1
fi
service=ws-gateway
[ "$option" != UPDATE_UPDATER_VERSION ] || service=easyai-updater
if ! [[ " ${UPDATE_SERVICES:-} " == *" $service "* ]]; then
echo "❌ $option 要求在 UPDATE_SERVICES 中指定 $service;尚未修改配置或容器" >&2
exit 1
fi
done
# 拉取整个仓库更新
if [ "$SKIP_REPO_UPDATE" = false ]; then
echo ""
@@ -188,6 +206,13 @@ if [ -n "${UPDATE_RELEASE_VERSION:-}" ]; then
echo "📌 已固定本次发布版本: $UPDATE_RELEASE_VERSION"
fi
if [ -n "${UPDATE_GATEWAY_VERSION:-}" ]; then
write_env_value .env WS_GATEWAY_VERSION "$UPDATE_GATEWAY_VERSION"
fi
if [ -n "${UPDATE_UPDATER_VERSION:-}" ]; then
write_env_value .env UPDATER_VERSION "$UPDATE_UPDATER_VERSION"
fi
# 在更新镜像和重建服务前迁移并校验后端公开 API 地址。
# shellcheck source=scripts/init-public-api-base-url.sh
. ./scripts/init-public-api-base-url.sh