用途:为 VPS 上托管的 Node 应用建立一套可复用的部署流程,重点不是让部署能跑,而是让部署结果可信。
主要能力:提供 assets/deploy.sh.template 模板,复制为 scripts/deploy.sh 后填写 CONFIG 块即可使用。脚本按固定顺序执行:丢弃 lockfile 变更、git reset --hard origin/<branch>、npm ci(失败回退 npm install)、迁移、构建、重启、带重试的健康检查、最后在成功路径上 touch "$HOME/.deploy-sentinels/$APP_NAME"。失败时输出最近日志。
关键设计:顺序即设计。迁移在构建与重启之前,保证新代码不遇旧 schema;构建在重启之前,避免重启后仍服务旧 dist/;健康检查带重试,避免应用仍在启动造成误判;哨兵只在健康检查通过后写入,配合新鲜度监控把静默失败变成可被发现的告警。日志不等于告警,没人会定时读日志文件。
审计与验证:资料给出 grep 检查片段,用于发现继承脚本中缺失的 reset --hard、npm ci、哨兵、健康检查或重试,以及重启先于构建的严重问题。验证方式包括故意把 HEALTH_URL 指向不存在路由,确认脚本非零退出、打印日志且不更新哨兵;以及立即重跑一次成功部署,确认幂等。
适用场景:VPS 上 Node 应用的部署脚本编写、审查与加固。
限制:资料未提供具体平台、收费、价格或效果数据;模板需自行填写 CONFIG;哨兵需另配每日新鲜度监控才完整。