在Azure DevOps中,“Agent Job”和“Deployment Group Job”有什么区别?
Agent Job:
在
代理池中的{{strong}}代理{{/strong}}上运行步骤。
Deployment Group Job:
在一个
部署组中的{{strong}}机器{{/strong}}上运行。
这是它们的
定义。可以看出,它们之间的根本区别在于运行作业的目标不同。
对于代理作业,它一次只能在一个目标上运行(除非设置并行以同时在多个目标上运行,但并行实质上是多个作业)。而部署组作业是,由于部署组是将多台机器绑定在一起的组,因此可以同时在多台机器上运行作业。
在使用场景中,代理作业可以用于构建和发布管道。但是对于部署代理作业,它只能用于应用/项目部署的发布管道中。
在构建流程中,毫无疑问只能使用代理作业(或无代理作业)。
我认为你关心的应该是在发布流程中的使用。如上所述,这些不同的作业都可以在发布流程中使用,并且都可以用于项目部署。
但是在具体使用方面,取决于您将要使用的任务和要部署到的目标服务器数量。
如果您的部署目标服务器数量少于5个对象,并且需要同时部署到多台机器上,则可以为代理作业设置并行作业。代理作业可能需要比部署组作业更长的时间。但是由于部署目标数量不太多,差异不明显。
对于中大型公司,部署目标对象通常超过10个,甚至100个。使用部署组作业最为合适,因为它可以在一个作业中在不同的机器上进行部署。
在发布时,如果您有多个目标需要部署,请推荐使用部署组作业:
![enter image description here](https://istack.dev59.com/qCS0a.webp)