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

时间:2017-10-13 10:24:29

标签: azure-devops azure-pipelines azure-pipelines-build-task azure-pipelines-release-pipeline

对此设置感到困惑。当单个项目有多个并发构建时,它如何才有意义。

enter image description here

2 个答案:

答案 0 :(得分:1)

首先,它现在用于发布,通常,发布用于部署(在构建中有相同的设置,但不起作用)。

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

例如:

  1. 将PowerShell任务添加到发布定义
  2. 为代理名称设置变量值的脚本

    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)

    Logging Commands

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

答案 1 :(得分:0)

您正在寻找构建阶段的执行计划。

  

并行运行的方式。

     

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

     

多配置:在多个上运行相同的任务集   乘数中指定的配置。配置会   并行运行,每个配置将使用单个代理。总   该阶段使用的代理数量取决于数量   配置,可以通过指定最大数量来限制   代理商。

     

多代理:使用以下命令在多个代理上运行相同的任务集   确切的代理数量。

More information

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