fix: deploy.sh 预检收窄到 CORS_ORIGINS(REDIS_URL 是 str 非复杂类型,JSON 预检会误报)
This commit is contained in:
+4
-5
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user