VSTS 发布管理:按工件源上的分支过滤

VSTS Release Management: filter by branch on artifact source

我正在使用 VSTS 构建 运行 CI 构建。此构建定义与我所有 git 分支(master、develop、features 等)的 same 相同。

我现在正在尝试使用 VSTS 发布管理实现部署管道。我计划有两个不同的发布定义。一个用于功能分支,一个用于更 重要 的分支,例如 develop 和 master。功能分支的发布定义会更轻量级。

我认为这是非常基本和常见的。事实上,这几乎就是 Microsoft typical use case for Release Management.

中记录的内容

对于这两个管道,我想将它们配置为使用 'Continuous Deployment' 触发器自动启动。当我select这个触发时,我必须select一个神器来源。

不幸的是,工件源采用来自给定构建定义(我的 CI 构建)的 所有 个工件(无论分支)。由于我对所有分支使用相同的 CI 构建定义,因此看起来我无法在 'Continuous Deployment' 中配置我的两个发布管道并且仍然使用相同的构建定义作为工件源。

有人知道如何为多个发布定义共享相同的构建定义,但只为特定分支启动发布吗?当我们定义工件源时,有人知道一种按分支过滤的方法吗?

目前 VSTS Release Management 中无法基于分支进行条件部署。

另一种方法是为不同的分支创建单独的 BD,然后将它们配置为 RD 的工件源。

这也将使用户从其名称本身清楚地了解该工件。

配置特定于分支的发布部署

  1. 转到 VSTS 中的发布管理
  2. 转到发布的定义
  3. 转到选项卡触发器
  4. 添加持续部署触发器
  5. 在这里你可以select一个特定的分支(for branch)

功能的可用性

  • 此功能在 VSTS 中可用
  • 在 TFS 本地版本中,它应该在版本 Server 2017.1 中可用,但在版本 2018.1 中仍然不可用