【发布时间】:2019-10-30 15:50:41
【问题描述】:
Azure DevOps 中的代理作业和部署组作业有什么区别?创建一个或另一个的原因是什么?
【问题讨论】:
-
代理 - 1 个代理。部署组 - 几个代理,任务将在几个代理中并行运行。
标签: azure-devops
Azure DevOps 中的代理作业和部署组作业有什么区别?创建一个或另一个的原因是什么?
【问题讨论】:
标签: azure-devops
代理作业和部署组有什么区别 在 Azure DevOps 工作?
代理工作:
agent pool 中的代理运行步骤。
部署组作业:
在deployment group中在机器上运行。
这些是其中的definition。可以看到,它们的根本区别在于运行作业时的目标不同。
对于代理作业,它一次只能在一个目标上运行(除非设置并行以一次在多个目标上运行,但并行本质上是多个作业)。而部署组作业是,由于部署组是多台机器绑定在一个组中,它可以一次在多台机器上运行一个作业。
在使用场景中,代理作业可以在 Build 和 Release 管道中使用。但是对于部署代理作业,它只能用于应用程序/项目部署的发布管道中。
创建一个或另一个的原因是什么?
在构建管道中,毫无疑问您只能使用代理作业(或无代理)作业。
我认为您关心的应该是发布管道中的用法。正如我上面提到的,这些不同的作业都可以在发布管道中使用,它们都可以用于项目部署。
但就具体用途而言,这取决于您将使用的任务以及您要部署到的目标服务器数量。
代理工作:
如果您的部署目标服务器数量少于5个对象,并且需要同时部署到多台机器上,您可以为代理作业设置并行作业。代理作业可能需要比部署组作业稍长的时间。但是因为部署的目标数量不是太多,所以区别并不明显。
部署组作业:
对于大中型企业,Deployment目标对象一般都在10个以上,甚至100个以上。使用Deployment group job最合适,因为一个job可以部署在不同的机器上。
在发布时,如果您有多个目标要部署到,建议您使用Deployment group 作业:
【讨论】: