【发布时间】:2020-03-27 18:49:39
【问题描述】:
我已经建立了一个部署到 QA 和 PROD 环境的管道,并在进入 PROD 之前获得了部署前的批准。我尝试设置管道,以便如果在批准发生之前发送另一个版本,它将取消先前的版本并等待批准。我在第一步/阶段使用了部署队列设置中的“部署最新并取消其他”选项。但是,这似乎没有任何效果。
起初我以为这只是因为等待批准。但我做了一些额外的测试,发现即使发布正在运行并且没有等待批准,它也不会被取消。我怀疑这是因为它旨在仅取消 queued 版本而不是正在进行的版本。但如果是这样,是否有可能取消正在进行的发布,如果有新的发布呢?
仅供参考,我已经检查了 this answer,但正如我所提到的,它不会取消正在进行的版本(尽管出于某种原因,它似乎在该 OP 的确切用例中有效)。
最终,如果在完成之前创建了新版本,我只想替换待处理的版本。请让我知道是否有办法做到这一点?
编辑:只是为了澄清接受的答案,有两个问题。在我的第一次运行中,我没有在每个阶段都检查Deploy latest and cancel the others,因此特定阶段没有取消。然后在选中此选项后,它不起作用,因为我没有让管道运行到同一阶段,而是我在看到旧版本没有立即取消后取消了新版本.我的印象是发布会立即取消,但直到新发布进入同一阶段,等待批准的旧阶段才会被取消。一旦我让管道通过,待批准阶段就会按预期取消。真的,该选项似乎与 stage 相关联,而不是与整个 release 相关联。只是想为答案提供一些额外的上下文。
【问题讨论】:
标签: azure-devops