使用 VSTS 构建的部分部署 - 源代码控制策略

Partial deployment using VSTS builds - source control strategy

我正在构建 VSTS 构建管道以继续集成和部署 MVC web 项目。我的客户希望在继续部署的情况下停机时间为 0,因此我们考虑重组源代码控制策略并将单个代码存储库拆分为以下内容:

核心功能

  1. 功能 1
  2. 特征 2 .....
  3. 特征 n

我们计划将功能保留为核心功能的子分支,并为每个分支和子分支放置单独的构建模板。所以理想的情况是,如果核心功能分支有任何变化,构建应该使用完整代码(分支+子分支)部署,但如果只有 1 个功能分支发生变化,继续部署将只对该分支执行或分支中的功能。

所以需要一些指导的问题是:-

谢谢

将存储库拆分为多个功能是可以的,因为它们可以在其他应用程序(例如移动应用程序)中使用

我建议您可以考虑 VSTS Packages feature 或其他 3rd package feed。工作流程:

  1. 将更改推送到服务器 > 触发器 CI 构建 > 使用 NuGet task
  2. 打包并将包发布到 VSTS 提要
  3. 为网络项目和编码安装必要的包。
  4. 将 Web 项目的更改推送到服务器 > 触发 CI 使用当前安装的包构建(不更新包)
  5. 为新功能更新必要的包到 web 项目
  6. 将 Web 项目的更改推送到服务器 > 触发器 CI 构建