我正在建立一个具有三个不同阶段的Azure DevOps发布管道。如以下屏幕截图所示,即使先前的版本仍在运行,新版本也已经开始。
是否有一种方法可以配置发行版以在队列中的下一个版本开始之前完成其所有阶段?
答案 0 :(得分:2)
为便于阅读,我将根据您在问题中分享的照片进行交谈。
实际上,在具有多个阶段的发行版中,各个阶段是相互独立的。您可以看到为不同阶段定义的任务作业,我们可以知道不同阶段的执行是独立运行的。
每个阶段之间唯一的联系是执行顺序,该顺序由发布后和发布后确定。
而且,如下图所示:
您可以看到,一旦 Releae-152 的 Stage1 执行完成, Realse-153 的 Stage1 strong>将被执行。正如我在前面的评论中提到的那样,只有部署到同一阶段的同一执行才能相互影响。对于stage1,Release-153可以覆盖在Release-152中的stage1。
由于队列中有多个发布管道,因此默认情况下,服务器将首先在同一阶段执行部署。这就是为什么您看到 Releae-153 的Stage1比 Releae-152 的Stage2优先运行的原因。