【问题标题】:Handling mulitiple servers in a Azure DevOps release pipeline stage在 Azure DevOps 发布管道阶段处理多个服务器
【发布时间】:2020-10-29 21:12:28
【问题描述】:

我有一个关于 Azure DevOps 发布管道的问题。我的管道工作流是多阶段的,其中构建触发 QA 阶段,然后触发 UAT 阶段,然后触发 PROD 阶段。

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

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

我有管道变量,它们也指定要在服务器上删除的文件的路径。在每个阶段级别的服务器上,这有效,但不适用于一个阶段中的多个服务器。

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

【问题讨论】:

  • 嗨@Lee Z。你能解释一下这一点吗:multiple servers in an environment?您是指部署组或其他服务器中的多个代理、多个目标吗?根据我的测试,当我预先批准阶段时,这可能适用于整个阶段而不是服务器。您可以与我们分享错误页面或步骤。另一方面,您也可以与我们分享理想状态。
  • 嗨@KevinLu-MSFT,我的 QA 环境有 2 台服务器,我的 UAT 环境有 2 台服务器。使用任务组,我能够解决这个问题。我会将答案发布给其他人以获取知识

标签: azure-devops devops azure-pipelines-release-pipeline multistage-pipeline


【解决方案1】:

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

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

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

每个服务器的通用任务都包含在任务组中

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    相关资源
    最近更新 更多