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

如何在参数化Azure YAML管道中计算所需代理数量?

Azure Pipeline 代理数量计算实现方案

需求说明

在主YAML中定义变量$(count),计算Azure管道所需代理总数,规则如下:

  • 代理总数 = 所有配置strategy.parallel的作业的parallel值总和 + 未配置strategy.parallel的作业按1计数的总和
  • 仅统计基于代理的作业(排除使用server池的作业)
  • 通过stages参数接收所有阶段,遍历解析其中的作业

修改后的YAML代码

parameters:
- name: stages
  type: stageList
  default: []

variables:
  # 初始化count变量为0
  count: 0

stages:
- ${{ each stage in parameters.stages }}:
  - ${{ each job in stage.jobs }}:
    - ${{ if ne(job.pool.name, 'server') }}:
      - ${{ if ne(job.strategy.parallel, '') }}:
          # 将当前作业的parallel值累加到count
          ${{ variables.count = variables.count + job.strategy.parallel }}
      - ${{ else }}:
          # 未配置parallel的作业,count加1
          ${{ variables.count = variables.count + 1 }}

代码说明

  1. 在variables块中初始化count为0,保证初始值正确
  2. 遍历每个阶段下的作业,先过滤掉使用server池的作业
  3. 对配置了strategy.parallel的作业,将其parallel值直接累加到count
  4. 对未配置strategy.parallel的作业,给count加1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:02:34