主要观点:软件工程为核心业务时应重视开发流程,Channable 团队通过自动化实现快速高效部署,秉持快速迭代、频繁部署等信念打造高效 CI/CD 流程。
关键信息:
- Channable 每天进行超 50 次部署,认为快速迭代能为客户和开发者带来更好体验。
- 开发流程始于创建新分支,经开发、提 PR 审核、合并等步骤,最终部署到生产环境。
- 构建自动化部署系统过程中,历经多种工具和技术的尝试与优化,如 Hoff 等。
- 解决部署协调问题,建立队列系统,实现自动化部署流程,减少人工干预。
重要细节: - 遵循“not rocket science rule”,主分支随时准备部署,分支存活时间短且变更小。
- CI 系统高度优化,减少代码推送与 CI 管道完成间的时间,曾多次更换 CI 提供商。
- 合并时采用标记合并机器人的方式,避免手动操作,还实现了合并训练以提高合并速度。
- 等待阶段,Hoff 触发软件版本构建和部署协调工具 Deploydocus,经 staging 环境检查后部署到生产环境。
- 教训:要快速部署且不犯错需大量自动化,随着代码库扩大需持续优化 CI 速度。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。