修复生产部署污染选号网占位文件

This commit is contained in:
yml2213
2026-08-30 22:00:52 +08:00
parent 6561f925e0
commit cfabfa8f65
+26
View File
@@ -96,6 +96,7 @@ RESET_DB=0
FOLLOW_LOGS=0 FOLLOW_LOGS=0
SKIP_CHECK=0 SKIP_CHECK=0
NO_CLEAN=0 NO_CLEAN=0
SHOW_DIST_BACKUP_DIR=""
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
case "$1" in case "$1" in
@@ -261,6 +262,26 @@ export_caddy_env() {
export CADDY_SHOW_DOMAIN export CADDY_SHOW_DOMAIN
} }
restore_show_dist_placeholders() {
if [[ -z "${SHOW_DIST_BACKUP_DIR}" || ! -d "${SHOW_DIST_BACKUP_DIR}" ]]; then
return 0
fi
local show_dist="${ROOT_DIR}/deploy/caddy/show-dist"
local git_restore_dir
git_restore_dir="$(mktemp -d "${TMPDIR:-/tmp}/hfb-show-dist-restore.XXXXXX")"
rm -rf "${show_dist}"
mkdir -p "${show_dist}"
if git -C "${ROOT_DIR}" show HEAD:deploy/caddy/show-dist/.gitkeep >"${git_restore_dir}/.gitkeep" 2>/dev/null \
&& git -C "${ROOT_DIR}" show HEAD:deploy/caddy/show-dist/index.html >"${git_restore_dir}/index.html" 2>/dev/null; then
cp -a "${git_restore_dir}/." "${show_dist}/"
else
cp -a "${SHOW_DIST_BACKUP_DIR}/." "${show_dist}/"
fi
rm -rf "${git_restore_dir}"
rm -rf "${SHOW_DIST_BACKUP_DIR}"
SHOW_DIST_BACKUP_DIR=""
}
# 准备选号网静态资源与 Caddy 站点配置(可选) # 准备选号网静态资源与 Caddy 站点配置(可选)
prepare_show_site() { prepare_show_site() {
local conf_dir="${ROOT_DIR}/deploy/caddy/conf.d" local conf_dir="${ROOT_DIR}/deploy/caddy/conf.d"
@@ -355,6 +376,10 @@ prepare_show_site() {
log_error "若仍网络失败,可在 backend/.env 设置 NPM_REGISTRY=https://registry.npmmirror.com 后重试" log_error "若仍网络失败,可在 backend/.env 设置 NPM_REGISTRY=https://registry.npmmirror.com 后重试"
exit 1 exit 1
fi fi
# show-dist 中的 .gitkeep/index.html 是仓库占位文件。备份后再写入构建产物,
# 退出时由 restore_show_dist_placeholders 恢复,避免每次部署污染工作区。
SHOW_DIST_BACKUP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/hfb-show-dist.XXXXXX")"
cp -a "${show_dist}/." "${SHOW_DIST_BACKUP_DIR}/"
rm -rf "${show_dist}" rm -rf "${show_dist}"
mkdir -p "${show_dist}" mkdir -p "${show_dist}"
cp -a "${show_dir}/dist/." "${show_dist}/" cp -a "${show_dir}/dist/." "${show_dist}/"
@@ -579,6 +604,7 @@ main() {
need_cmd flock need_cmd flock
validate_env validate_env
export_caddy_env export_caddy_env
trap restore_show_dist_placeholders EXIT
prepare_log_dir prepare_log_dir
prepare_backup_status_dir prepare_backup_status_dir
# 选号网需在 build caddy 之前准备 show-dist 与 conf.d # 选号网需在 build caddy 之前准备 show-dist 与 conf.d