Azure devops 如何配置Azure DevOps版本以在启动新版本之前完成其所有阶段

Azure devops 如何配置Azure DevOps版本以在启动新版本之前完成其所有阶段,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,我正在建立一个带有三个不同阶段的Azure DevOps发布管道。如下面的屏幕截图所示,一个新版本已经启动,即使之前的版本仍在运行 有没有办法将发布配置为在队列中的下一个开始之前完成其所有阶段?为了更具可读性,我将根据您在问题中共享的图片进行讨论 事实上,在具有多个阶段的版本中,各个阶段是相互独立的。正如您可以看到为不同阶段定义的任务作业一样,我们可以知道不同阶段的执行是独立运行的 每个阶段之间的唯一联系是执行顺序,由发布后的和阶段后的决定 此外,正如pic在下面提到的: 如您所见,一旦R

我正在建立一个带有三个不同阶段的Azure DevOps发布管道。如下面的屏幕截图所示,一个新版本已经启动,即使之前的版本仍在运行


有没有办法将发布配置为在队列中的下一个开始之前完成其所有阶段?

为了更具可读性,我将根据您在问题中共享的图片进行讨论

事实上,在具有多个阶段的版本中,各个阶段是相互独立的。正如您可以看到为不同阶段定义的任务作业一样,我们可以知道不同阶段的执行是独立运行的

每个阶段之间的唯一联系是执行顺序,由发布后的阶段后的决定

此外,正如pic在下面提到的:

如您所见,一旦Releae-152Stage1执行完成,将执行Realse-153Stage1。正如我在前面的评论中提到的,只有部署到同一阶段的相同执行才能相互影响。对于阶段1,Release-153可以覆盖Release-152中的阶段1


由于队列中有多个发布管道,默认情况下,服务器将首先执行同一阶段的部署。这就是为什么您会看到Releae-153的阶段1比Releae-152的阶段2先运行的原因。Release-152和Release-153分配给同一个代理吗?如果有不同的代理,则会尝试构建并行,如果相同,则应为串行。所有三个不同的阶段都分配给相同的代理池。代理池由两个自托管代理组成。您可以尝试停用一个代理并签出发布管道的行为。为什么希望在上一版本的所有阶段完成后执行下一版本?例如,stage2的运行不会对后续发布管道的stage1产生任何影响,因为stage1是为stage2和3做准备的。因此,新版本的阶段1的执行会影响上一版本的阶段2和阶段3。我想我一般误解了发布管道中各个阶段的意图。