2026-06-14 更新:已废弃 Webhook 自动部署方案,改为手动 SSH 部署。
8.159.134.106 (SSH 别名: aliyunos4)22622root/data/ai/audio_codebuddy/data/ai/frontend/build/h5 (线上 nginx root 指向)3100 (PM2 进程名 server)# 1. SSH 到服务器
ssh aliyunos4
# 2. 进入项目目录
cd /data/ai/audio_codebuddy
# 3. 拉取最新代码 (git pull,或本地 scp 上传后 git checkout)
# 方式 A: git pull (gogs 正常时)
git pull origin master
# 方式 B: 本地 scp 推送 (gogs 500 故障时)
# 在本地执行:
# scp -P 22622 -r <本地路径> aliyunos4:/data/ai/audio_codebuddy/<目标路径>
# 4. 构建后端
cd server
npx prisma generate # 如果改动了 prisma/schema.prisma
npm install # 如果改动了 package.json
npm run build
# 5. 构建前端
cd ../my-uniapp-vue3
npm install
npm run build:h5
rm -rf /data/ai/audio/frontend/build/h5
cp -r dist/build/h5 /data/ai/audio/frontend/build/h5
# 6. 重启后端
pm2 delete server 2>/dev/null || true
SERVER_PORT=3100 pm2 start dist/app.js --name server
pm2 save
业务核心链路 = 书籍 大纲 → 内容 → 音频 端到端链路。 任何
book-generator / langgraph / TTS / 前端 book-generator 页面改动,发布前必须跑通这条链路,否则视为不可发布。
# 在仓库根目录,自动起服务 + 跑测试
./scripts/run-core-business-test.sh
# 服务已起好的话
SKIP_SERVER=1 ./scripts/run-core-business-test.sh
# 报告位置
tests/test-results/report/index.html # 失败时打开
tests/test-results/results.json # 结构化结果
参考时长 3 ~ 8 分钟(真实 LLM + TTS 调用)。失败立即停手,定位修复后重跑。
完整规范、失败处理、新人入职清单详见 CONTRIBUTING.md。
./scripts/install-hooks.sh
装好后:
git commit 检测到核心业务文件改动 → 自动跑核心业务测试git push → 强制跑一次核心业务测试绕过:git commit --no-verify / git push --no-verify(必须在 PR 描述里说明)
卸载:./scripts/install-hooks.sh --uninstall
# 查看后端 PM2 状态
pm2 list
pm2 logs server --lines 100
# 查看健康检查
curl -s http://localhost:3100/health
# 查看 nginx 配置
cat /etc/nginx/conf.d/*.conf
# 清理服务器磁盘(临时文件)
ssh aliyunos4 'du -sh /data/ai/audio_codebuddy/server/temp/* 2>/dev/null'