CI/CD
持续集成分支模型
1. git flow
优势:
1)隔离性好,所有功能都有对应分支,开发和测试工作互相不干扰,发布进程不受其他未开发功能干扰
2)分支职责明确 对应分支做对应的事情
缺点:
1)集成周期过长,同时又大功能在各自分支上开发,每个功能开发周期都不短 功能分支间的合并与集成十分痛苦 《持续集成》这一本书中观点来看,这甚至算不上持续集成。
2)会存在重复测试,特性测试结束后需要在主分支重复测试一遍
3)结构相对复杂,分支较多 且存在层级关系 Develop-》Feature-》story-1
2.github flow
优势:
1)结构相对简单 所有功能开发都以故事卡为单位部围绕一条主分支
2)符合小步提交、持续集成思想
缺点:
1)分支切换的引入和测试 为了不让某些没有完成的功能影响已经完成的功能发布进程
,软件设计的初期以及后期测试都需要把对应分支切换加入 ,
需要确保在各个环境中哪些没有完成的功能应该处于disable状态
,增加 一部分工作量,带来风险,需要计划分析合理,才能减少风险发生几率
2)隔离性差 引入分支切换时为了弥补隔离性的缺失 如果期望所有分支终究需要合并到一个分支、发布成一个产品此缺点并不重要
最后安利一款git 提交格式化工具 Git Commit Message
参考文献: