加固既有生产部署流程(07-27-yang-jun-reimbursement-readiness)

这个提交包含在:
2026-08-01 18:25:20 +08:00
父节点 5dac336fbf
当前提交 07de198b51
共修改 15 个文件,包含 375 行新增和 34 行删除
+27
查看文件
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -euo pipefail
fail() {
echo "[remote-preflight][ERROR] $1" >&2
exit 1
}
for key in REMOTE_DIR REMOTE_ENV_FILE COMPOSE_FILE POSTGRES_DATA_DIR STORAGE_HOST_DIR DEPLOY_DATA_MODE SYNC_ENV; do
[[ -n "${!key:-}" ]] || fail "缺少 $key"
done
if [[ "$DEPLOY_DATA_MODE" == "existing" ]]; then
[[ -d "$REMOTE_DIR" \
&& -f "$REMOTE_DIR/server/package.json" \
&& -f "$REMOTE_DIR/$COMPOSE_FILE" ]] \
|| fail "existing 模式要求 REMOTE_DIR 是现存仓库根目录"
[[ -f "$POSTGRES_DATA_DIR/PG_VERSION" && -d "$STORAGE_HOST_DIR" ]] \
|| fail "existing 模式的数据目录合同未满足"
fi
if [[ "$SYNC_ENV" == "0" ]]; then
[[ -f "$REMOTE_ENV_FILE" && ! -L "$REMOTE_ENV_FILE" ]] \
|| fail "SYNC_ENV=0 要求同步前已有普通远端 .env 文件"
fi
echo "[remote-preflight][PASS] 远端仓库、环境与数据合同通过"