#!/usr/bin/env bash # 重新构建并同步 PhoneRail 需求文档站到 home 服务器。 # 在 Git Bash 里从 site/ 目录跑: bash deploy/deploy.sh # # 只做「内容更新」这一件事。首次部署时另外做过的两步(已完成,不会重复): # 1. scp deploy/nginx-phonerail-docs.conf -> /etc/nginx/conf.d/phonerail-docs.conf # 2. 在门户应用表里加 key=phonerail / port=7757,再跑 # python3 /root/portal/deploy/gen-vhosts.py --write # 只有改了 nginx 配置或应用注册信息时才需要重跑那两步。 set -euo pipefail HOST="${DEPLOY_HOST:-10.5.5.13}" REMOTE_DIR="/root/phonerail-docs" cd "$(dirname "$0")/.." echo "==> 构建(会先同步 ../需求文档.md 并校验锚点)" npm run build echo "==> 同步到 ${HOST}:${REMOTE_DIR}" cd .vitepress/dist tar -cf - . | ssh "$HOST" " rm -rf ${REMOTE_DIR} && mkdir -p ${REMOTE_DIR} && tar -xf - -C ${REMOTE_DIR} && chmod 0711 /root && chmod -R o+rX ${REMOTE_DIR} " echo "==> 验证" ssh "$HOST" " curl -sS -o /dev/null -w ' loopback 7757 -> HTTP %{http_code}\n' http://127.0.0.1:7757/ curl -sS -o /dev/null -w ' 门户未登录(期望 302) -> HTTP %{http_code}\n' \ -H 'Host: phonerail.home.example' http://127.0.0.1:7755/ curl -sS http://127.0.0.1:7757/ | grep -o '[^<]*' | sed 's/^/ /' " echo "==> 完成:http://phonerail.home.example:7755/"