技术转型之路五:标准化

标准化就是引入约束和规范,把各种流程借助对应的制度、工具等进规范化和自动化,尽量减少人为因素造成的故障或错误。

Git 仓库的标准化

收缩权限,统一各个项目的 owner

杜绝以私人身份建立仓库并上线,所有线上项目必须交由各自统一的 owner 进行建立、权限分配、部署和销毁。

统一分支开发模型

根据团队的实际情况采用合适的分支开发模型,强制所有成员必须严格按照分支模型进行仓库的管理,降低多人协作造成的混乱。

统一开发流程

核心项目全部采用 fork and pull request 开发流程,严格进行代码审核和测试、上线和回滚。

环境的标准化

为解决本地开发环境依赖服务过多的问题,搭建专有的 VPN 服务,使得可以在本地连接任意线上测试环境服务,并且统一线上环境、测试环境、本地环境的配置,能够非常轻松对本地任何项目进行开发和调试。

部署流程的标准化

简单项目采用 walle 等第三方部署工具部署,复杂项目使用 fabric 完成,为每一个 APP 统一部署流程:

  • SQL 检查
  • 表更新
  • 创建 release tag
  • 更新代码
  • 更新依赖
  • 执行 build
  • 重启服务
  • 服务检测

团队知识标准化

建立团队知识体系,并且以工具形势进行落地,建立团队内部使用的 wiki 、技术业务文档等,方便新人快速熟悉业务和快速查找。

故障定位标准化

建立故障 checklist,方便任何不熟悉整套服务体系的人快速定位故障和解决问题

三月沙 wechat
扫描关注 wecatch 的公众号