Microsoft 增加了仅为特定分支定义 VSTS 发布触发器的功能。它在功能时间轴上列为“发布管理编排改进 - 分支条件、多个工件触发器” 。
我们也使用分支和 PR 构建,但我们只从 Git主分支发布代码。在过去,我们甚至不得不为此创建一个自定义扩展。
但是,如果将多个构建带到一个版本中,它仍然无法按预期工作。考虑这种情况:
- 我们有组件 A 和组件 B,它们都为 master 分支以及其他分支和 PR 生成构建。
- 我们有一个 Release 定义,其中两个触发器仅针对 master 分支定义。
- 在 Artifacts 选项卡上,我们添加了带有“最新”选项的两个构建,因为其他两个选项是手动的,因此不符合持续部署原则。
- 当组件 A 为 master 构建时,它会触发一个 Release,该 Release 会从组件 A 的最新 master build 中获取工件。
- 但是组件 B 的构建可以用于任何分支\PR,无论是最新的。
有什么方法可以确保只有特定的分支构建被纳入发布(在我的情况下是主构建)?
请参阅下面的屏幕截图。
1) 为 2 个构建配置触发器。
2) 采用的工件来源是最新版本
3)其他分支(在这种情况下不是master)仍然会触发一些发布: