多个工件源上的 VSTS 发布触发器不关心分支规范
Posted
技术标签:
【中文标题】多个工件源上的 VSTS 发布触发器不关心分支规范【英文标题】:VSTS Release triggers on multiple artifact sources won't care for branch specification 【发布时间】:2017-01-23 11:20:35 【问题描述】:Microsoft 增加了仅为特定分支定义 VSTS 发布触发器的功能。它在Features Timeline 上列为“发布管理编排改进 - 分支条件、多个工件触发器”。
我们也使用分支和 PR 构建,但我们只从 Git master 分支发布代码。在过去,我们甚至不得不为此创建一个custom extension。
但是,如果 多个 构建被带到一个版本中,它仍然无法按预期工作。考虑这种情况:
-
我们有组件 A 和组件 B,它们都为 master 分支以及其他分支和 PR 生成构建。
我们有一个发布定义,其中包含 2 个触发器,仅用于主分支的两个构建。
在 Artifacts 选项卡上,我们添加了带有“最新”选项的两个构建,因为其他两个选项是手动的,因此不符合持续部署原则。
当为 master 构建组件 A 时,它会触发一个 Release,该 Release 会从组件 A 的最新 master build 中获取工件。
但是为组件 B 构建的版本可以用于任何分支\PR,无论是最新的。
有什么方法可以确保只考虑特定分支构建 发布(在我的情况下是主版本)?
请看下面的截图。
1) 为 2 个构建配置触发器。
2) 采用的工件来源是最新版本
3) 其他分支仍会触发一些发布(在这种情况下不是 master):
【问题讨论】:
停止为您的 PR 生成发布工件。如果您正在使用 Azure DevOps 或看到 VSTS 中的新选项,请参阅我在 this question 上的回答。 【参考方案1】:您想要的是默认版本为“来自特定分支的最新版本”的工件的能力
此功能目前正在为选定的一组客户进行预览,不久将面向更广泛的受众发布。
【讨论】:
太棒了!我该如何注册? :) 我不知道,但我想你很快就会明白的。大部分时间不到 2-3 周。以上是关于多个工件源上的 VSTS 发布触发器不关心分支规范的主要内容,如果未能解决你的问题,请参考以下文章