summary
2019 年,TravisCI 一次环境变量配置错误使测试流程截断了生产数据库,造成数据风险。
timeline
环境变量在配置中被错误设置或覆盖;测试任务据此连到了生产数据库并执行了截断操作;TravisCI 修复配置并恢复受影响数据。
root_cause
环境隔离不充分,测试所用的环境变量(数据库连接串)误指向生产库,且缺乏写保护,导致测试动作影响生产数据。
amplifiers
测试与生产共用凭据体系、缺少写权限隔离,使配置错误直接转化为生产事故。
mitigation
隔离测试与生产环境、收紧数据库权限、增加销毁性操作的二次确认。
lessons
测试环境绝不可持有生产写权限;敏感环境变量须隔离管理。
checklist
环境凭据隔离;生产库只读或写保护;销毁操作审批;配置变更评审。