我正在构建一个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