在发布管道中,我已经配置了构建构件。启用“连续部署触发器”(不添加任何分支过滤器),并禁用“拉请求触发器”。现在,当我提高PR时,PR就会触发构建(因为我也在分支策略中配置了构建验证)。
一旦构建完成,它将触发发布。当我禁用“拉动请求触发器”时,为什么会发生这种情况?为什么禁用了构建构件上的“拉动请求触发器”时,由于PR触发了发布的构建?
仅当我向“连续部署触发器”中添加分支过滤器时,才可以阻止PR完成之前的发布触发。
答案 0 :(得分:2)
这是预期的行为,如果您将CD配置为任何分支,以便在构建完成后开始发布,无论构建是否由Pull Request排队。
如果要在PR的一部分中上传工件,则应禁用CD触发器或使用工件过滤器。
答案 1 :(得分:2)
在这里,我将还原您的场景并添加一些屏幕截图以进行说明。
首先,我们需要了解持续部署触发器的definition:
这指示Azure Pipelines自动创建新版本 当它检测到有新工件可用时。
由于您设置了pr构建验证策略,因此在创建pr时,它将自动触发pr构建。
这时,此pr构建等效于生成一个新的可用工件,该工件将自动触发发布。
此版本实际上是由Continuous deployment trigger
引起的,而不是由Pull request trigger
引起的。