D1-D2 确认部署版本与回滚前提

这个提交包含在:
2026-05-10 13:36:54 +08:00
父节点 f988e1c84e
当前提交 755f083fab
共修改 3 个文件,包含 22 行新增和 2 行删除
@@ -0,0 +1,4 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
E1,部署前备份授权确认,"在 release candidate 同步前创建部署前新近备份属于远端写操作,本 Issue 先确认授权、范围和禁止项;未授权前不执行备份。","1) 明确备份目标为试运行服务器 /opt/hyb-oa-trialrun;2) 明确只创建 DB dump 和 storage tar,不修改业务数据、不部署、不重启;3) 明确不打印 .env secret 或数据库连接串;4) 获得明确批准后才进入 E2。","流程级验证:人工核对 docs/trialrun/deployment-preflight-2026-05-10.md 与 issues/2026-05-10_13-20-38-deployment-version-sync-governance.csv 的 D2 阻断说明;确认备份写操作获批前 E2 保持 TODO。","manual|ssh",TODO,TODO,TODO,"deploy/trialrun/runbook.md|issues/2026-05-10_13-20-38-deployment-version-sync-governance.csv","[]","需要用户明确批准;不执行 deploy、不执行 migration、不重启服务、不修改远端 .env。"
E2,创建部署前 DB 与 storage 备份,"在 E1 获批后,按现有 runbook 和脚本在远端创建一组部署前 DB dump 与 storage tar;只做备份,不做部署。","1) deploy/trialrun/backups 下生成当日 DB dump;2) 生成当日 storage tar;3) 命令退出成功;4) 备份文件名、时间和大小记录到 D2 Notes 或证据文档;5) 备份失败时停止,不进入 D3。","流程级验证:ssh [email protected] 进入 /opt/hyb-oa-trialrun;按 runbook 执行 ./scripts/backup-db.sh 与 ./scripts/backup-storage.sh;只读列出新生成文件名、时间、大小;不打印 secret。","ssh|bash|manual",TODO,TODO,TODO,"deploy/trialrun/runbook.md|scripts/backup-db.sh|scripts/backup-storage.sh","[\"E1\"]","远端写操作;只创建备份文件。若脚本需要读取 .env,只 source 不 echo;失败时保留 D2 BLOCKED。"
E3,备份后 D2 解阻复核,"备份创建后回到部署版本同步治理合同,复核 D2 是否满足部署前新近备份和回滚路径要求。","1) 新 DB/storage 备份均存在且时间为部署前新近;2) runbook 回滚路径可执行;3) 将 D2 回填为 DONE/DONE/DONE;4) D3 仍需用户单独批准后才能执行。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-10_13-20-38-deployment-version-sync-governance.csv;git diff --check;人工确认 D3 仍未执行。","python3|manual",TODO,TODO,TODO,"issues/2026-05-10_13-20-38-deployment-version-sync-governance.csv|docs/trialrun/deployment-preflight-2026-05-10.md","[\"E2\"]","E3 只回填状态和证据;不部署、不迁移、不重启。"
无法渲染此文件,因为它包含了意外字符,其位于第 3 行和第 737 列。