如何确保释放阶段由代理程序池中的每个代理程序执行

时间:2019-08-07 13:11:58

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

我已经为Azure发布管道设置了多代理作业。代理程序池中有两个代理程序。作业需要由代理程序池中的每个代理程序执行。

Multi-agent job

每当触发发行版时,以上显示的设置将调度两个代理作业。如果部署开始时两个代理都空闲,则一切正常,两个代理都将执行作业。但是,一旦某个座席在那个时候忙,行为就会变得异常,并且两个作业都由同一个座席连续执行

Agent job 1 Agent job 2

如何确保座席池中的每个座席都在执行已定义的座席作业?

1 个答案:

答案 0 :(得分:0)

这是按设计的。如果一个代理程序池包含两个代理程序A和B,而A繁忙,则构建作业将与B一起运行。因此,在池中,如果某些代理程序繁忙,则管道将与其他可用的可用代理程序一起运行。

并行作业的先决条件是您必须有足够的空闲代理可用。这就是为什么当一个座席在那个时候忙时,行为就变得意外。