代理作业和部署组之间有什么区别
在 Azure DevOps 工作?
代理工作:
运行步骤在代理上其中在一个.
部署组作业:
Run 在机器上 in a 部署组 https://learn.microsoft.com/en-us/azure/devops/pipelines/release/deployment-groups/index?view=azure-devops.
这些是定义 https://github.com/MicrosoftDocs/vsts-docs/blob/master/docs/pipelines/process/phases.md#yaml-1其中。可以看到,它们之间的根本区别在于运行作业时的目标不同。
对于代理作业,一次只能在一个目标上运行(除非设置并行以一次在多个目标上运行,但并行本质上是多个作业)。而部署组作业则是,由于部署组是将多台机器绑定在一个组中,因此可以同时在多台机器上运行一个作业。
在使用场景中,代理工作可以在构建和发布管道中使用。但对于部署代理作业,它只能在发布管道中用于应用程序/项目部署。
创建其中之一的原因是什么?
在构建管道中,毫无疑问你只能使用代理工作(或无代理)工作。
我想你关心的应该是Release pipeline中的用法。正如我上面提到的,这些不同的作业都可以在发布管道中使用,并且它们都可以用于部署的项目。
但就具体使用而言,这取决于你将使用的任务和目标服务器数量您想要部署到。
代理工作:
如果您的部署目标服务器数量少于5个对象,并且需要同时部署到多台机器上,您可以设置并行作业代理工作。代理作业可能比部署组作业花费的时间稍长。但由于部署的目标数量不是太多,所以差别并不明显。
部署组作业:
对于大中型企业,Deployment目标对象一般在10个以上,甚至100个以上。使用Deployment组作业最为合适,因为它可以在一个作业中部署到不同的机器上。
在发布时,建议您使用部署组 https://learn.microsoft.com/en-us/azure/devops/pipelines/release/deployment-groups/?view=azure-devops如果您有多个目标要部署到: