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

ldr*_*vic 15 azure-devops azure-pipelines

使用 Azure DevOps,我正在创建一个发布管道,我希望其中一个阶段有 1 个作业和 5 个步骤。前三个步骤是相同的​​任务类型,但具有不同的变量,我想让它们并行,这样一些流程将如下所示:

工作

并行:步骤1、步骤2、步骤3

然后:第4步(在所有3个并行步骤成功/失败之后)

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

这是当前的作业设置

这是当前的作业设置

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

步骤 5 可以是:即使上一个任务失败,除非部署被取消,但我不确定如果我为步骤 4 设置相同的设置,它是否会仅将步骤 3 视为先前任务或所有三个先前(步骤 1 - 步骤 3)任务。

另外,对于执行计划并行性,我想将多代理设置为三个是可以的,因为总体上最多可以并行执行 3 个步骤。

作业并行性

Mer*_*SFT 7

并行:步骤1、步骤2、步骤3

如果一个代理作业中有 5 个任务,并且只想首先并行运行前三个任务,恐怕 Azure Devops 不支持这一点。

当您将多个任务放入一个代理作业中时,这些任务将而且必须按顺序运行。此外,正如您在第二张图片中提到的,指定的多代理用于并行运行代理作业,而不是并行运行任务。

幸运的是,我们官方开发者社区已经有另一位用户提出了这样的建议。而且有很多和你有同样需求的用户。您可以在那里投票和发表评论。我们的产品组团队将认真听取您的建议。如果它有足够的票数,这意味着它的优先级很高,团队会认真考虑它。

  • 我认为已经过去了足够的时间和投票来证明这个答案的最后部分是错误的。 (3认同)