Azure管道:管道中单个作业内的并行任务

时间:2019-08-11 21:50:52

标签: azure-devops azure-pipelines

使用Azure DevOps,我正在创建一个发布管道,在该管道中,我希望一个阶段执行一项包含5个步骤的工作。前三个步骤是相同的​​任务类型,但具有不同的变量,我想将它们并行化,以便有一些流程:

工作

parallel: step1,step2,step3

然后: step4(在所有三个并行步骤都成功/失败之后)

然后:步骤5(在完成步骤4之后)

这是当前的作业设置

This is current job setup

我不确定如何为所有这些步骤设置控制选项-运行此任务。我需要以某种方式将前三个设置为立即运行(也许是自定义条件“ always()”),并且将第4步和第5步设置为在完成先前的步骤之后依次运行。

步骤5可以是:即使先前的任务失败,除非取消了部署,但我不确定是否为步骤4设置了相同的设置,它是否只会将步骤3视为之前的步骤,还是将之前的三个步骤都视为(步骤1- step3)任务。

对于执行计划并行性,我认为将多主体设置为3是可以的,因为我总共最多可以并行执行3个步骤。

Job parallelism

1 个答案:

答案 0 :(得分:0)

  

parallel:step1,step2,step3

如果您在一个代理任务中有5个任务,并且只想首先并行运行之前的三个任务,那么恐怕要说Azure Devops不支持此任务。

虽然您将多个任务放在一个代理作业中,但这意味着该任务将并且必须按顺序运行。而且,正如您在第二张图片中所提到的, Multi-agent 中指定的名称用于并行运行代理作业,而不是并行运行任务。

幸运的是,到目前为止,我们的official Developer Community中已经有其他用户提出了这样的建议。并且有很多用户与您有相同的需求。您可以在那里投票和发表评论。我们的产品小组会很乐意为您提供建议。如果它具有足够的选票,则意味着它具有高度优先权,团队将认真考虑它。