持续交付

【读书笔记-017】持续交付2.0之集成分支策略

2019-03-16  本文已影响101人  爱倩子的李总

版本控制系统

目的

分类

基本概念

常见的分支开发模式

主干开发,主干发布

工程师向主干上提交代码(或者分支生存周期很短,如数小时或少于1天),并用主干代码进行软件交付。


主干开发,主干发布

主干开发,分支发布

开发人员将代码合入主干,在接近版本发布时,从主干拉出新分支负责集成测试和缺陷修复,质量达标之后进行版本发布。


主干开发,分支发布

特点如下:

  1. 与将要发布的功能无关的团队成员可以持续工作在开发主干上,不受版本发布的影响;
  2. 新发布的版本出现缺陷时,可以直接在开发分支上洗浴,不影响主干分支。
  1. 主干上的代码通常只针对下一个新发布版本的功能开发,只要有任何一个需求未完成,就不能创建新发布分支;
  2. 若不对发布分支数量进行约束,容易出现“分支地狱”,降低团队的研发效率。

分支开发,主干发布

最为广泛应用的工作方式。团队从主干上拉取分支,并在分支上开发新功能或修复缺陷;当分支上的功能开发完成后要对外交付版本时,才将代码合入主干,在主干上进行缺陷修复,质量达标之后发布。


分支开发,主干发布

优势点

缺陷

减少了主干合并的频次,延迟了发现缺陷和代码冲突的时间,不利于及时进行代码重构。该分支策略的关键点在于:

分类

分支模式的演化

三驾马车分支模式

维护3个分支,包括开发分支、预发布分支和发布分支。所有开发人员把新功能代码分捡到预发布分支;在预发布分支上只做缺陷修复、文档生成和预发布相关的工作,不做新功能开发;当预发布分支的代码满足发布要求,便合入到发布分支,作为正式版本进行版本发布。


三驾马车分支模式

Gitflow分支模式

Gitflow分支模式将三驾马车模式和特性分支模式融合在一起,优点是每个分支的定义都明确且清晰,但是分支较多,容易出现“分支地狱”的问题。

GitHubFlow分支模式

GitHub团队所使用的分支策略,对开发者的开发纪律要求比较严格,对质量保证手段的要求也很高,开发步骤如下:

分支策略的选择

企业需要根据开发或维护的软件产品类型,结合发布频率,并考虑自身团队成员能力和基础设施建设情况来确认适合自己的分支方式。

版本发布模式

分支策略和发布周期的关系

分支策略和发布周期的关系
上一篇 下一篇

猜你喜欢

热点阅读