fix: deploy.sh 预检收窄到 CORS_ORIGINS(REDIS_URL 是 str 非复杂类型,JSON 预检会误报)
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run

This commit is contained in:
34047007@qq.com
2026-08-10 16:52:41 +08:00
parent 5842f2c99c
commit 7548a0a161
+4 -5
View File
@@ -121,8 +121,10 @@ if [ ! -f "$REPO_ROOT/.env" ]; then
fi fi
set -a; source "$REPO_ROOT/.env"; set +a set -a; source "$REPO_ROOT/.env"; set +a
# 3. .env 复杂类型预检(fail fast):pydantic-settings 会把 CORS_ORIGINS 等按 JSON 解析, # 3. .env 复杂类型预检(fail fast):pydantic-settings 会把 list/dict 类型字段按 JSON 解析,
# 写成了普通字符串会在迁移时炸(8-10 事故),这里提前捕获,给出正确写法提示 # 写成了逗号列表会在迁移时炸(8-10 事故),这里提前捕获,给出正确写法提示
# 仅检查 config.py 中的复杂类型字段(现仅 CORS_ORIGINS);str 类型(如 REDIS_URL
# 不按 JSON 解析,预检会误报,不要加进来。
json_env_check() { json_env_check() {
local var="$1" local var="$1"
local v="${!var:-}" local v="${!var:-}"
@@ -133,9 +135,6 @@ json_env_check() {
fi fi
} }
json_env_check CORS_ORIGINS json_env_check CORS_ORIGINS
json_env_check ALLOWED_ORIGINS
json_env_check REDIS_URL
json_env_check PUBLIC_ORIGINS
# 3. flock 单实例锁(防两人/两终端并发部署) # 3. flock 单实例锁(防两人/两终端并发部署)
exec 9>/tmp/scilit-deploy.lock exec 9>/tmp/scilit-deploy.lock