You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Azure Pipeline使其同一时间仅运行1次构建?

实现Azure Pipeline管道级单并发执行的方案

直接使用YAML管道的concurrency配置项即可实现管道级的单并发控制,完全匹配你的需求:

  • 这是官方原生支持的管道级设置,无需依赖代理池、阶段锁等方案
  • 限制整个管道同一时间仅运行一个实例,新的运行请求会自动进入队列,等待当前运行完成后再执行
  • 管道内部的多阶段可以保持你原本设置的并行/串行逻辑,不会被强制串行

配置示例

trigger: none
pr: none

# 管道级并发控制配置
concurrency:
  pipeline: $(Build.DefinitionName) # 动态匹配当前管道名称,也可以写固定管道名
  cancelInProgress: false # 不取消正在运行的实例,新请求排队等待

stages:
- stage: Build_Stage
  jobs:
  - job: Build_Job
    steps:
    - script: echo 执行构建任务...
      displayName: '构建步骤'

- stage: Test_Stage
  jobs:
  - job: Test_Job
    steps:
    - script: echo 执行测试任务...
      displayName: '测试步骤'

关键参数说明

  • pipeline: 指定要控制并发范围的管道标识,用$(Build.DefinitionName)可以自动匹配当前管道,避免硬编码名称
  • cancelInProgress: 设置为false时,新的运行请求会排队等待正在进行的管道实例完成;若设为true,则会取消正在运行的实例,直接启动新的运行(根据你的需求,保持false即可)

注意事项

  • 该配置仅适用于YAML管道,若你使用的是经典编辑器创建的管道,需要先转换为YAML管道才能使用此功能
  • 此控制是针对整个管道实例的,而非单个阶段,所以管道内部的阶段可以正常按照你定义的逻辑并行或串行执行,不会受此配置影响

内容的提问来源于stack exchange,提问作者Naveh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:45:29