文件
hyb-oa/.trellis/tasks/archive/2026-08/08-05-reimbursement-payment-batch-deployment/implement.md
T
wangsli 254ba2dbd1
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
chore(reimbursement-payment-batch-deployment): 归档部署任务
2026-08-05 10:53:38 +08:00

3.7 KiB

报销付款批次改进部署:实施计划

1. Activation and publication

  • 用户批准本计划后启动 Trellis task。
  • 提交任务启动记录,确认工作区干净,将 main 推送到 origin/main。
  • 记录明确发布提交并确认无 schema、migration、配置键或部署脚本变化。

2. Preflight

  • 运行环境合同、Trellis 治理、敏感信息和 Git 来源检查。
  • 从本机 SSH 配置无回显解析唯一部署身份与 refresh forced-command 身份。
  • 运行 check-existing-deployment.sh,要求 13/13 聚合合同全部 PASS。

3. Deployment

  • 使用 DEPLOY_SERVER、DEPLOY_REFRESH_SERVER 调用 deploy-existing.sh。
  • 确认 SYNC_ENV=0、existing data contract、无生产 .env 覆盖、无新增 migration。
  • 确认应用发布和备份合同 refresh 均通过;若部分成功,按设计中的失败分类停止。

4. Public read-only verification

  • 验证公网 /ready、运行时 build SHA 和前端短 SHA命中发布提交。
  • 运行基础公网 smoke、外部依赖/功能开关检查和公开资源扫描。
  • 仅在专用 LIVE_SMOKE_* 凭据已配置时运行登录态 smoke;否则记录明确 SKIP。
  • 扫描公开前端资源确认本轮关键文案/入口合同已发布,不读取真实回单或银行资料。

5. Closeout

  • 将脱敏部署结果写回本任务,不新建平行报告。
  • 运行 task validate、Trellis 治理、敏感信息和 git diff --check。
  • 使用中文提交结果记录并引用 reimbursement-payment-batch-deployment。
  • 归档任务并仅在全部公网门禁通过后告知用户可以测试。

Rollback points

  • 发布前:任何来源或预检失败均停止,不改变远端。
  • 发布中:应用未健康时使用既有入口回退上一已发布提交。
  • 发布后:仅备份合同 refresh 失败时不重复部署应用,单独恢复合同。
  • 全程不修改生产 .env、数据库结构、PGDATA、附件存储或真实业务数据。

Deployment result (2026-08-05)

  • 发布提交:566c37679a6e9a2581533d40cdcfe7cdd5421b5b,已由上游包含,未使用 unpublished override。
  • 身份消歧:两个 SSH 别名连接同一主机、读取同一合同;唯一非 root 候选是部署目录、环境文件和源码所有者,另一候选为 root 管理身份。本轮使用实际所有者发布,发布后所有权保持不变;refresh forced-command 身份唯一。
  • 本地门禁:环境合同、任务合同、Trellis 治理、敏感信息、Git 来源和 clean worktree 均 PASS。
  • 远端预检:check-existing-deployment.sh 两次均为 13/13 PASS。
  • 发布入口:deploy-existing.sh PASS;SYNC_ENV=0,existing data contract,生产 .env 未同步;64 个 migration 已存在且无待执行项。
  • 运行时:数据库、外部依赖、13 项导航合同和运行时 smoke PASS;容器完整 build SHA、公开 /ready 12 位 SHA、前端 12 位 SHA 均命中发布提交。
  • 功能开关:payment_batch_v1=force_on、erp_sync=force_off,ERP 环境开关保持关闭。
  • 公开资源:扫描 98 个资源,build marker PASS、旧文案 findings=0;本批次报销单、费用明细、明细小计、下载需说明用途、在线查看 均命中。
  • 备份合同:forced-command refresh PASS。
  • 登录态 smoke:SKIP,当前进程未提供完整专用 LIVE_SMOKE_* 凭据;匿名 readiness 无 blocker。真实 OCR 同样因无专用凭据和授权 PDF 样票而 SKIP,未读取或写入真实票据。
  • 业务写入:未执行真实报销、审批、付款批次、回单查看/上传、银行、ERP、企业微信或生产配置写入。