Azure devops 为什么我们要一次构建多台构建机器来构建同一个项目?

Azure devops 为什么我们要一次构建多台构建机器来构建同一个项目?,azure-devops,azure-pipelines,azure-pipelines-build-task,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,Azure Pipelines Release Pipeline,对此设置感到困惑。当一个项目有多个并发构建时,它有什么意义呢 您正在查看构建阶段的执行计划 并行运行的方式 无:任务将在单个代理上运行 多配置:在多个服务器上运行同一组任务 乘数中指定的配置。配置将 并行运行,每个配置将使用单个代理。全部的 阶段使用的代理数将取决于代理数 配置,并且可以通过指定 特工 多代理:使用 指定的代理的确切数量 设置不是关于构建,而是关于阶段(阶段中的任务)。您可以并行多次执行同一阶段以缩短构建时间。当然,您需要一个适合于此的任务/阶段。首先,它用于发布现在,一般来说

对此设置感到困惑。当一个项目有多个并发构建时,它有什么意义呢


您正在查看构建阶段的执行计划

并行运行的方式

无:任务将在单个代理上运行

多配置:在多个服务器上运行同一组任务 乘数中指定的配置。配置将 并行运行,每个配置将使用单个代理。全部的 阶段使用的代理数将取决于代理数 配置,并且可以通过指定 特工

多代理:使用 指定的代理的确切数量


设置不是关于构建,而是关于阶段(阶段中的任务)。您可以并行多次执行同一阶段以缩短构建时间。当然,您需要一个适合于此的任务/阶段。

首先,它用于发布现在,一般来说,发布用于部署(在构建中有相同的设置,但不起作用)

其次,任务是相同的,但变量的值可以不同,也可以通过不同的代理运行或不运行某些任务

例如:

  • 将PowerShell任务添加到发布定义
  • 用于为每个代理名称设置变量值的脚本

    param(
    [string]$a
    )
     Write-Host $a
    if($s -eq "XXX"){
    Write-Host "##vso[task.setvariable variable=webname]devWeb"
    }
    else
    {
    Write-Host "##vso[task.setvariable variable=webname]ReleaseWeb"
    }
    
    参数:
    -a$(Agent.Name)

  • 然后,以下任务可以使用具有不同值的此变量(webname)

  • 你参考了文件了吗?您可以将鼠标悬停在
    (i)
    图标上,并获得一个详细解释场景的链接。这意味着我可以同时创建构建的调试版本和发布版本。那很方便。任何其他用例?@RıfatErdemSahin关于多个配置,您可以选择多个配置选项/