|
@@ -229,6 +229,57 @@ npx tsx scripts/fix-audio-issues.ts --merge-all --book 5
|
|
|
|
|
|
|
|
> ⚠️ 脚本扫描时如果发现"疑似分段目录"(远程 URL 无法直接关联本地文件),仅作提示,不会自动修复,需人工确认后手动指定 `--chapter` 参数修复。
|
|
> ⚠️ 脚本扫描时如果发现"疑似分段目录"(远程 URL 无法直接关联本地文件),仅作提示,不会自动修复,需人工确认后手动指定 `--chapter` 参数修复。
|
|
|
|
|
|
|
|
|
|
+## 📦 部署方式
|
|
|
|
|
+
|
|
|
|
|
+> ⚠️ 旧方案(Gogs Webhook)链路过长(push → Gogs → webhook → 脚本 → build → restart),常有部署失败。
|
|
|
|
|
+
|
|
|
|
|
+### 推荐:deploy-simple.sh(SSH 直推)
|
|
|
|
|
+
|
|
|
|
|
+零中间环节,最可靠。前提:代码已 git push。
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 一行部署
|
|
|
|
|
+bash deploy-simple.sh
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+流程:`SSH → git pull → npm build → pm2 reload`
|
|
|
|
|
+
|
|
|
|
|
+### 备选:deploy-fast.sh(本地构建 + 增量同步)
|
|
|
|
|
+
|
|
|
|
|
+不依赖服务器拉取 git,适合大文件或网络不稳定时。
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 部署后端
|
|
|
|
|
+bash deploy-fast.sh
|
|
|
|
|
+
|
|
|
|
|
+# 部署后端+前端
|
|
|
|
|
+bash deploy-fast.sh --all
|
|
|
|
|
+
|
|
|
|
|
+# 预览变更(不真部署)
|
|
|
|
|
+bash deploy-fast.sh --dry
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+流程:`本地 npm build → rsync dist/ → pm2 reload`
|
|
|
|
|
+
|
|
|
|
|
+### 对比
|
|
|
|
|
+
|
|
|
|
|
+| | Webhook(旧) | deploy-simple | deploy-fast |
|
|
|
|
|
+|---|:--:|:--:|:--:|
|
|
|
|
|
+| 环节数 | 5 | 1 | 1 |
|
|
|
|
|
+| 依赖 Git 服务器 | ✅ | 服务器需拉取 | ❌ |
|
|
|
|
|
+| 部署验证 | ❌ 无 | ✅ git hash 对比 | ✅ API 健康检查 |
|
|
|
|
|
+| 适用场景 | — | 常规迭代 | 紧急修复 |
|
|
|
|
|
+
|
|
|
|
|
+### 部署后验证
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# 检查 API 健康
|
|
|
|
|
+curl https://book.rrbrr.com/api/health
|
|
|
|
|
+
|
|
|
|
|
+# SSH 检查服务状态
|
|
|
|
|
+ssh -p 22622 root@8.159.134.106 "pm2 status"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
## 🧪 自动化回归测试
|
|
## 🧪 自动化回归测试
|
|
|
|
|
|
|
|
项目内置两级自动化测试体系,确保每次上线前所有业务功能可用。
|
|
项目内置两级自动化测试体系,确保每次上线前所有业务功能可用。
|