- 增加 deploy/trialrun:Docker Compose + env 模板 + runbook + 发布/回滚 checklist - 新增 DB/文件存储备份恢复脚本(backup/restore) - 新增 system.users 运营接口:创建/启用禁用/重置密码/分配角色 + 审计 - 新增 seed:trialrun 引导管理员账号(一次性口令) - 补齐 SIGTERM/SIGINT 优雅停机(关闭 job/HTTP/DB)
2.1 KiB
2.1 KiB
hyb-oa 试运行发布 Checklist(E19)
目标:一次发布可追踪、可回归、可回滚(10 分钟内恢复到上个版本)。
A. 发布前(Pre-flight)
- 确认当前版本已打 tag:
git tag -a trialrun-YYYYMMDD-NN -m "trialrun release" - 本地门禁:
./scripts/check-minimal.sh - 全量回归(建议):
cd server && RUN_AUDIT_REGRESSION=1 RUN_OCR_REGRESSION=1 ./scripts/regression-all.sh - 备份(DB + 文件存储):
set -a && source deploy/trialrun/.env && set +a./scripts/backup-db.sh(记录输出文件名)./scripts/backup-storage.sh(记录输出文件名)
B. 发布(Deploy)
git checkout <tag>- 构建并启动:
docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env up -d --build serverdocker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env run --rm init
- 探活:
curl -fsS http://127.0.0.1:3000/ready
- 登录验证(管理员账号):
- 访问
http://127.0.0.1:3000 - 登录成功,菜单权限正确
- 访问
C. 发布后(Post-check)
- 关键链路手工验证(建议至少一次):
- 员工:新建报销 → 上传票据 → 绑定 → 提交
- 经理:待办审批(approve)
- 财务:付款(含凭证字段)
- 查看 server 日志(无异常错误风暴):
docker logs --tail=200 hyb-oa-trialrun-server
D. 回滚(Rollback)
原则:如果涉及迁移,最快回滚通常是 “恢复备份 + 回到上个 tag”。
- 停止 server:
docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env stop server - 恢复 DB:
./scripts/restore-db.sh <db.dump> - 恢复存储:
./scripts/restore-storage.sh <storage.tar.gz> deploy/trialrun/data/storage - 回到上个版本:
git checkout <previous-tag> - 重启并探活:
docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env up -d --build servercurl -fsS http://127.0.0.1:3000/ready