Release Pipeline作业并发:能否实现同一Stage内各Deployment Group并发运行任务
Azure DevOps同Stage下多部署组并发执行的配置方案
完全可行,且是原生支持的配置,不用写自定义脚本。
你已规避「同一部署组内多代理并发」的风险——这步操作本身是合理的:单部署组内并发容易让目标环境的全量节点同时出问题(比如批量重启、配置批量覆盖)。现在要做的跨部署组并发,核心是调整Stage级的并行控制规则,同时锁死单部署组的内部并发上限。
第一步:放开Stage的并行部署作业上限
打开对应Stage的设置,找到Deployment queue settings板块:- 把
Maximum number of parallel deployment jobs改成大于1的数(比如有3个部署组就设3) - 划重点:这个值默认是1,会让同Stage下所有作业排队,是90%的人卡在这里的原因
- 把
第二步:锁死单部署组的内部并发度
给每个部署组对应的Deployment Job(部署作业)做限制:- 进入Job的
Deployment group target settings,把Parallelism设为1 - 这个设置只管单个部署组内部的代理数,完全不影响跨部署组的并发权限
- 进入Job的
第三步:清掉会阻塞并发的冗余规则
确认同Stage下的几个Deployment Job:- 没设置依赖(比如A必须等B跑完)
- 没绑定整个Stage的前置审批(要给单个部署组单独审批的话,把审批规则移到每个Job的前置设置里)
实际配置场景示例:
同Stage下有3个独立部署组:dg-web-eu、dg-web-us、dg-db-eu
按上述规则调整后:- Stage允许最多3个作业并行
- 每个部署组内部只跑1个代理
- 无依赖/审批卡壳
最终效果:3个部署组的任务同时启动,每个组内部不会触发全节点操作,完全符合风险控制要求
内容的提问来源于stack exchange,提问作者zac d
相关产品推荐
相关产品推荐

