在任何时候,禁止在生产环境编辑代码、调试行为。
正确的做法就是开一个修复分支,测试通过后合并代码重新发布即可。
允许的例外情况:改动的范围非常小(如文案修改,不涉及功能修改),并且修复的时间要求非常紧迫,这时候才可以考虑在生产环境修改代码。该操作只允许技术负责人执行,并且改动的内容必须同步提交到 Gogs。
虽然很可能更新扩展包都是没有问题的,但是并不代表不会问题出现,因而更新扩展包要谨慎,假设的确是有需要更新扩展包(例如修复了严重的安全漏洞),应该先在本地运行并跑一次单元测试,测试通过后才能上线,上线完成后也必须通知测试进行回归测试,否则有可能会造成某些代码片段运行异常。
不管是改动文件还是数据,为了确保操作安全性,避免事故,务必要备份。
文件备份格式为:{原文件名}_bak{操作日期时间}
示例:
cp cfg.yml cfg.yml_bak$(date +%Y%m%d%H%M%S)
线上发生故障,第一时间要处理并解决问题。处理完成后,参与处理的工程师需要对故障进行复盘,然后将故障起因、分析和解决方法形成文档,并提交到 tapd