fix(deploy): 支持 full-themes 六合一包部署并统一 shell 脚本 LF 换行

This commit is contained in:
mars
2026-07-10 13:58:34 +08:00
parent cca74310ed
commit 4a95793d21
7 changed files with 212 additions and 21 deletions

View File

@@ -10,6 +10,7 @@ source "$SCRIPT_DIR/deploy-lib.sh"
TARGET_TAG=""
SKIP_BACKUP=false
ALLOW_DEFAULT_SECRETS=false
WITH_THEMES="auto"
usage() {
cat <<'EOF'
@@ -25,9 +26,12 @@ usage() {
注意:
本脚本只回滚镜像,不回滚数据库结构或数据。
如果目标版本涉及不可逆迁移,必须先按备份文件手工恢复数据库。
若当前发布启用了四套 player默认会一并回滚 player2/3/4可用 --no-themes 仅回滚单套 player。
选项:
--to TAG 目标镜像 tag必填
--themes 回滚时启用四套 playerplayer2/3/4
--no-themes 仅回滚单套 player忽略当前发布的 themes 状态
--no-backup 跳过 PostgreSQL 与 uploads 备份
--allow-default-secrets 允许 .env.docker 使用示例密钥,仅测试环境使用
-h, --help 显示帮助
@@ -43,6 +47,14 @@ while [ $# -gt 0 ]; do
TARGET_TAG="${2:?缺少 --to 参数值}"
shift 2
;;
--themes)
WITH_THEMES=true
shift
;;
--no-themes)
WITH_THEMES=false
shift
;;
--no-backup)
SKIP_BACKUP=true
shift
@@ -68,6 +80,16 @@ cd "$ROOT"
require_docker
ensure_env_file || exit 1
validate_prod_env "$ALLOW_DEFAULT_SECRETS"
if [ "$WITH_THEMES" = true ]; then
enable_themes_deploy
elif [ "$WITH_THEMES" = false ]; then
DEPLOY_WITH_THEMES=false
export DEPLOY_WITH_THEMES
else
load_themes_from_release || true
fi
require_images_for_current_tag
start_infra
@@ -80,8 +102,9 @@ else
warn "已跳过 PostgreSQL 与 uploads 备份"
fi
log "回滚 api / player / admin 到 tag: $(current_image_tag)"
compose up -d api player admin
log "回滚 $(stack_app_services) 到 tag: $(current_image_tag)"
# shellcheck disable=SC2046
compose up -d $(stack_app_services)
wait_for_stack_ready
show_prisma_status
compose ps