文件
hyb-oa/deploy/trialrun/checklist.md
T
wangsli 4223d81eb4 feat(server): 试运行部署与运营基线(E13/E14/E17/E19/E20/E21)
- 增加 deploy/trialrun:Docker Compose + env 模板 + runbook + 发布/回滚 checklist

- 新增 DB/文件存储备份恢复脚本(backup/restore)

- 新增 system.users 运营接口:创建/启用禁用/重置密码/分配角色 + 审计

- 新增 seed:trialrun 引导管理员账号(一次性口令)

- 补齐 SIGTERM/SIGINT 优雅停机(关闭 job/HTTP/DB)
2026-02-09 01:12:49 +08:00

2.1 KiB
原始文件 Blame 文件历史

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 server
    • docker 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 server
    • curl -fsS http://127.0.0.1:3000/ready