我確實說過我們將在今天的文章中討論continuous integration,但是在此之前,我們應該研究如何組織源代碼以真正支持ci。 所以今天讓我們先來討論分支策略。
分支開發是我們常看到的開發方式,最有名的應該就是git flow了。
分支開發在以下情況比較適合:
分支開發在開發過程中不需要考慮合併的問題,不過壞處是在合併時需要一次測試所有變化。也代表著需要一段code freeze period和integration period.
而需要比較快速做出變動的話就需要利用主幹開發法了。主幹和分支的最大差別在於分支的開發時間,分支開發裡,分支存活的長度可能是幾天到幾個禮拜。而在主幹開發裡,每一個分支的開發頂多是幾個小時。
主幹開發是在主幹中維護所有代碼,任何分支都應短暫存在。要實踐continuous integration的話,主幹開發是不可或缺的。
根據2017 DORA報告,這三種行為能改善軟體交付性能。
主幹開發需要注意的要點是:
由此可見,為了能夠達到continuous integration,自動測試是必需的,之後的continuous testing會談到這部分。
明天我們會回到討論continuous integration裡的其他部分,讓我們隨時都有一份可以交付的軟體。
< 上一篇 Day08 - Source code management
> 下一篇 Day10 - Continuous Integration - Build automation