Azure devops VSTS发布管理:根据工件源上的分支进行筛选

Azure devops VSTS发布管理:根据工件源上的分支进行筛选,azure-devops,ms-release-management,azure-pipelines,Azure Devops,Ms Release Management,Azure Pipelines,我正在使用VSTS构建来运行CI构建。对于我的所有git分支(master、develop、features等),这个构建定义都是相同的 我现在尝试使用VSTS发布管理实现一个部署管道。我计划有两个不同的版本定义。一个用于功能分支,另一个用于更重要的分支,如develop和master。特性分支的发布定义将更加轻量级 我认为这是非常基本和平常的。事实上,这几乎就是微软的 对于这两个管道,我希望将它们配置为使用“Continuous Deployment”触发器自动启动。当我选择这个触发器时,我必

我正在使用VSTS构建来运行CI构建。对于我的所有git分支(master、develop、features等),这个构建定义都是相同的

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

我认为这是非常基本和平常的。事实上,这几乎就是微软的

对于这两个管道,我希望将它们配置为使用“Continuous Deployment”触发器自动启动。当我选择这个触发器时,我必须选择一个工件源

不幸的是,工件源获取来自给定构建定义(我的CI构建)的所有工件(无论分支如何)。由于我对所有分支使用相同的CI构建定义,因此看起来我无法在“连续部署”中配置两个发布管道,而仍然使用相同的构建定义作为工件源


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

目前在VSTS发布管理中没有基于分支进行有条件部署的方法

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

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

Configure branch specific release deployment
  • 转到VSTS中的版本管理
  • 转到发布的定义
  • 转到选项卡触发器
  • 添加连续部署触发器
  • 在这里,您可以选择一个特定的分支(用于分支)
  • 功能的可用性
    • 此功能在VSTS中可用
    • 在TFS内部部署版本中,它本应在版本服务器2017.1中提供,但在版本2018.1中仍然不可用

    真遗憾。由于在Git中经常创建和删除分支,所以我们只有一个构建定义。这避免了dev团队和devops团队之间来回设置构建定义。通过对所有分支使用一个BD,devops在创建/删除分支时根本不涉及。是的,但人们大多从固定分支(如主分支)或开发人员合并变更的版本发布。所以主分支不会被删除。因此,对不同的分支使用不同的构建定义是有意义的。您应该为此提高用户的发言权。可能还有其他人想要同样的功能。如果你能分享你的场景,我可以想出一个解决办法。在我看来,仅仅为此创建多个BDs是多余和浪费的(时间)。在我的情况下(见我上面的评论),这不会有帮助。配置分支策略为PR进行生成,然后在更新主分支后,您可以要求另一个生成,但您不需要指定其他BD。我希望主生成触发发布,而不是PR生成。我也处于类似的困境,只是创建拉请求触发的生成。它正在触发释放,但不应该。PR构建在单独的分支中完成(例如refs/pull/16/merge)。我也希望按分支过滤释放触发器,因此它只由正在构建的master触发。您的场景比我描述的场景问题更大!我建议您将其归档到Visual Studio UserVoice或up vote并对我的条目进行评论。请注意,分支筛选器设置仅在源代码依赖于VSTS/TFS存储库时可用。使用github等外部源时,分支筛选器不显示/不可用。我使用的是2017.2,但此功能似乎仍然不存在。除非它是Git Only,否则它不会出现:(