# 行为规范 ## 严禁在生产环境调试修改代码 在任何时候,禁止在生产环境编辑代码、调试行为。 正确的做法就是开一个修复分支,测试通过后合并代码重新发布即可。 允许的例外情况:改动的范围非常小(如文案修改,不涉及功能修改),并且修复的时间要求非常紧迫,这时候才可以考虑在生产环境修改代码。该操作只允许技术负责人执行,并且**改动的内容必须同步提交到 Gogs**。 ## 不允许随意更新扩展包版本 虽然很可能更新扩展包都是没有问题的,但是并不代表不会问题出现,因而更新扩展包要谨慎,假设的确是有需要更新扩展包(例如修复了严重的安全漏洞),应该先在本地运行并跑一次单元测试,测试通过后才能上线,上线完成后也必须通知测试进行回归测试,否则有可能会造成某些代码片段运行异常。 ## 操作前请备份 不管是改动文件还是数据,为了确保操作安全性,避免事故,务必要备份。 文件备份格式为:{原文件名}_bak{操作日期时间} 示例: ```shell cp cfg.yml cfg.yml_bak$(date +%Y%m%d%H%M%S) ``` ## 线上故障处理后需要留档 线上发生故障,第一时间要处理并解决问题。处理完成后,参与处理的工程师需要对故障进行复盘,然后将故障起因、分析和解决方法形成文档,并提交到 [tapd](https://www.tapd.cn/20748531/documents/file_list/1120748531001000034) ## 谨慎部署第三方工具 部署第三方工具,要注意潜在的风险或漏洞。一般来说,要做到以下几点: 1. 从可信的源安装,或者自己从源码编译; 2. 分配一个专用的用户启动服务,而不是直接使用 root; 3. 需要开放端口的工具,应当在局域网内开放,不直接在公网开放; 4. 公网开放端口,避免使用默认端口,并且**必须鉴权访问**; 5. 第三方工具有安全漏洞曝光,需要及时跟进漏洞信息和解决方案,进行升级或替换;