1. 程式人生 > >CI/CD 持續整合分支模型

CI/CD 持續整合分支模型

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

 

參考文獻:

https://juejin.im/entry/587422728d6d8100589e4dd3

https://mritd.me/2017/09/05/git-flow-note/