基于主干的开发

开关驱动开发

  • 每天至少向主干Trunk提交一次。
  • Trunk始终在可发布状态。
  • 将新功能代码(或者未完成的代码)隐藏在功能开关后面。
  • 使用branch by abstraction 进行重构。
  • 可以开分支branch,但是一般不超过2天。

branch by abstraction

开关驱动开发
功能开关的优劣势
优点:

  • 新功能和代码发布分离,减轻发布风险
  • 迭代速度快,快速创新实验
  • 可定制高级A/B测试、
  • 相比复杂发布系统,投入成本相对低
  • 没有分支开发的合并冲突问题。

缺点

  • 代码侵入,技术债,需要定期清理
  • 需要开关配置中心配合
  • 需要devops文化和流程配合。

相关文章: