|
|
[变更性质]
维护性变更:把已通过 84 场景演练的运维脚本纳入版本控制。artifacts/
目录按仓库政策 ignore(本地证据),本提交按 Leader 指令以 -f 显式
加入,未包含任何密钥(脚本扫无 secret/token/password)。
[维护内容]
此前 ops/deploy.sh、rollback.sh 与 ops-drill2.sh 仅存在于本地
artifacts/(被 .gitignore 排除),生产依赖它们但仓库内无源码可审计。
[实现方案]
deploy.sh:deploy.lock 防并发、阶段化备份(env/二进制/前端/DB,
manifest 原子化写入 0700 目录)、显式 rc helper、零停机 swap、失败
路径自动 restore、健康与 sha256 校验;restore 兼做手动回滚。
rollback.sh:stop -> 替换 -> start -> 锁 + health + hash 强校验。
ops-drill2.sh:84 场景故障注入演练(备份/swap/restore 阶段注入矩阵、
RA/RB1/RB2 恢复分支),PASSED=84 FAILED=0 exit 0 为执行合约。
用法见 docs/etf-recovery-release-handoff.md 第 3 节。
[影响范围]
脚本本身未改(与演练定稿版本一致),仅入库;回滚目标记录在
manifest(previous_worker_image 等)。
|