chore: harden production deploy scripts
This commit is contained in:
@@ -50,11 +50,20 @@ rsync -az --delete \
|
||||
--filter='P /api/.env.production' \
|
||||
--exclude='/.git/' \
|
||||
--exclude='/.memory/' \
|
||||
--exclude='/.backups/' \
|
||||
--exclude='/.logs/' \
|
||||
--exclude='/.pids/' \
|
||||
--exclude='/.playwright-mcp/' \
|
||||
--exclude='/.DS_Store' \
|
||||
--exclude='*.log' \
|
||||
--exclude='__pycache__/' \
|
||||
--exclude='*.pyc' \
|
||||
--exclude='/data/' \
|
||||
--exclude='/data-local/' \
|
||||
--exclude='/jobs/' \
|
||||
--exclude='/output/' \
|
||||
--exclude='/secrets/' \
|
||||
--exclude='/api/.venv/' \
|
||||
--exclude='/api/jobs/' \
|
||||
--exclude='/api/.env' \
|
||||
--exclude='/api/.env.local' \
|
||||
@@ -63,6 +72,8 @@ rsync -az --delete \
|
||||
--exclude='/web/node_modules/' \
|
||||
--exclude='/web/.next/' \
|
||||
--exclude='/web/out/' \
|
||||
--exclude='/web/canvas-app/node_modules/' \
|
||||
--exclude='/web/canvas-app/dist/' \
|
||||
--exclude='/node_modules/' \
|
||||
--exclude='内部分享-口播脚本.md' \
|
||||
./ "$HOST:$APP_DIR/"
|
||||
|
||||
@@ -13,12 +13,27 @@ ssh "$HOST" "cd '$APP_DIR' && \
|
||||
echo \"ERROR: local API/dev URL leaked into web static bundle\" >&2
|
||||
exit 1
|
||||
fi
|
||||
for p in / /login/ /_next/does-not-exist.js /api/health; do
|
||||
code=\$(curl -sS -o /tmp/skg-smoke.out -w \"%{http_code}\" \"http://127.0.0.1\$p\")
|
||||
case \"\$p:\$code\" in
|
||||
/:302|/login/:200|/_next/does-not-exist.js:404|/api/health:401) echo \"web:\$p \$code\" ;;
|
||||
*) echo \"ERROR: unexpected web route status \$p \$code\" >&2; head -c 200 /tmp/skg-smoke.out >&2; exit 1 ;;
|
||||
esac
|
||||
check_route() {
|
||||
p=\"\$1\"
|
||||
expected=\"\$2\"
|
||||
attempts=\"\${3:-30}\"
|
||||
i=1
|
||||
while [ \"\$i\" -le \"\$attempts\" ]; do
|
||||
code=\$(curl -sS -o /tmp/skg-smoke.out -w \"%{http_code}\" \"http://127.0.0.1\$p\" || echo 000)
|
||||
if [ \"\$code\" = \"\$expected\" ]; then
|
||||
echo \"web:\$p \$code\"
|
||||
return 0
|
||||
fi
|
||||
sleep 1
|
||||
i=\$((i + 1))
|
||||
done
|
||||
echo \"ERROR: unexpected web route status \$p \$code\" >&2
|
||||
head -c 200 /tmp/skg-smoke.out >&2 || true
|
||||
exit 1
|
||||
}
|
||||
for route in \"/ 302\" \"/login/ 200\" \"/_next/does-not-exist.js 404\" \"/api/health 401\"; do
|
||||
set -- \$route
|
||||
check_route \"\$1\" \"\$2\"
|
||||
done
|
||||
' && \
|
||||
docker exec skg-marketing-api sh -lc '
|
||||
|
||||
Reference in New Issue
Block a user