【发布时间】:2020-01-25 02:54:23
【问题描述】:
我有一个有两个分支的仓库:
- develop(repo 的默认分支)
- 主人
develop 分支中的代码已知可作为“alpha”版本发布,而 master 中的代码已知可用于生产。
目前,开发分支的政策要求必须成功完成 CI 构建才能合并 PR。该构建将创建带有预发布标记 (alpha-####) 的 NuGet 包工件。
发布管道负责获取这些包并将它们发布到内部 NuGet 源。
我想要实现的是在 PR 完成时自动触发发布管道,不是只要 CI 构建成功。
我希望“拉取请求触发器”能够做到这一点,但令我惊讶的是,触发器不会确认 PR 的状态,并且会在 CI 构建完成后立即启动发布管道。
这意味着,如果 PR 因任何原因被拒绝,NuGet 仍可能部署到我的提要中!
我在这里做错了什么?为什么拉取请求触发器与持续部署触发器的工作方式没有任何不同?那它的目的是什么? :/
【问题讨论】:
-
让合并触发构建。让构建触发发布。
-
@DanielMann 合并是指 PR?因为我已经试过了。 PR 将导致构建启动,但我需要在 PR 已完成的条件下进行发布。
-
@DanielMann 所以今天早上我已经恢复了理智,现在我明白你的意思是在开发分支上有一个带有 CI 触发器的构建定义。当然,那会奏效。我只是讨厌在发布之前必须等待另一个构建(以及分支策略构建)。
标签: azure-devops continuous-integration nuget continuous-delivery