之前介绍了DevOps的研发效能整体价值,包括效率、质量、持续改进的文化等方面;
同时,针对DevOps实践,比如分支模型、多泳道、灰度、内建质量、度量、运维,也有一些概念性的输入。
接下来针对分支模型进行一个展开,从背景、常见分支模型、分支模型实践方案等方面说明。
背景:
分支模型应该说是DevOps中CI的一个最基础的技术实践,是CI的基座,其他的应用实践基本上是基于分支模型进行展开。
直接影响的是整个流水线,一般有整体流水线,在一个整体流水线中,包括多个子流水线,比如开发流水线、特性测试流水线、集成测试流水线、发布流水线。在这些子流水线中,发布子流水线是基于程序包,与分支模型关系不大,其他的子流水线都是密切相关的。
分支模型是基础,但最本质的问题是要解决研发的开发效率,而效率更高的方式就是让在制品尽量少,以降低需求间的影响。
常见的分支模型:
如何提升?取决于采取什么样的分支模型;
常见的分支模型主要是2大类,基于主干开发还是基于分支开发。
基于分支开发的比如Git Flow, GitHub Flow,基于主干开发的Trunk Based Development。
简单总结下几类的特点,具体参考文档:http://fresky.github.io/2020/03/10/common-branching-models/
Git Flow: