我正在構建一個VSTS構建管道,用於繼續集成和部署MVC Web項目。我的客戶想要0停機時間的情況下繼續部署,以便我們考慮重組源控制策略和分裂單一代碼庫到以下幾點:使用VSTS構建的部分部署 - 源代碼控制策略
核心功能
- 特點1個
- 特點2 .. ...
- 功能ň
我們計劃在保持特點的核心功能的子分支,並把個人的構建模板,每個branc的h和支行。因此,理想的情況是,如果核心功能分支有任何更改,則應該使用完整代碼(分支+子分支)來部署構建,但如果只更改了一個功能分支,則將僅對該分支執行繼續部署或分支中的功能。
因此,這需要指導的問題是: -
- 是功能分支的想法是好的,可以在生產中使用?
- .Net MVC應用程序是具有Web層,服務和存儲庫層的n層應用程序。我是否還應該在覈心和功能分支中拆分服務和存儲庫層以使其分離?
如果我分裂的服務和倉庫,通訊不同功能之間應該如何發生的:
通過服務來服務呼叫?就像功能1需要功能2的某些功能一樣,功能1服務會調用功能2服務併合並結果以將其發送到功能1 GUI?
特徵1庫調用特徵2庫,但是這種方法將使特徵1對特徵2具有依賴性,這意味着如果特徵2在部署時關閉,則特徵1也經歷錯誤。
將版本庫拆分爲若干功能是個不錯的主意?
感謝
對術語要小心。您使用術語「功能分支」的方式不是它在業內常用的方式。功能分支用於隔離開發新功能,而不是用於管理不同應用程序組件的持續長期開發。 –
@Daniel Mann,同意你的評論。但我知道的其他已知術語是子模塊源代碼控制方法,我猜想它是爲GIT源代碼控制保留的。你能提出一個最適合這個問題的名字嗎? – Riky