在Azure DevOps版本发布阶段处理多台服务器

问题描述

我对Azure DevOps发布管道有疑问。我的管道工作流程是多阶段的,其中构建触发QA阶段,然后触发UAT阶段,然后触发PROD阶段。

我使用管道变量来管理每个阶段,并要求对UAT和PROD阶段进行预先批准,以使更改不会立即按顺序部署到每个阶段。

我的问题是如何处理环境中有多个服务器的情况。我看到应该将每个环境都视为一个阶段,但是现在,我将环境中的每个服务器都视为并行运行任务的阶段。这适用于第一阶段(QA),但对于UAT却很难看,因为每个服务器都需要预先批准而不是环境。

我有管道变量,这些变量也为要放置在服务器上的文件指定了路径。在每个阶段的服务器上,此方法有效,但不适用于一个阶段中的多个服务器。

我的管道当前如下图所示,其中UAT1和UAT2均需要批准。在QA和UAT阶段以及以后的PROD中如何处理多台服务器?

enter image description here

解决方法

我的问题是,我使用一个阶段来代表环境中的单个服务器(即QA,UAT或PROD),而不是将每个服务器执行的任务捆绑到一个任务组中,然后在该阶段中使用多个任务组

我的管道现在如下图所示。

enter image description here

在此阶段中,每个服务器都有一个任务组。

enter image description here

每个服务器的常见任务包含在任务组中

enter image description here