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

Azure Linux代理为何会拾取vmImage为macos-10.14的作业?

现象产生原因

当你在pool配置中显式指定了自托管代理池的name字段时,Azure Pipelines 会直接忽略同层级的vmImage配置,仅按照demands字段的要求匹配代理池内的可用代理。
你给出的配置中已经明确指定池名称为你自建的Default自托管池,此时vmImage: 'macos-10.14'的配置不会生效,系统仅校验代理是否满足npm的能力要求,你的Linux代理符合该要求,因此会被调度执行作业。

vmImage 属性的实际作用

vmImage是专为微软官方托管代理池设计的配置项,作用是指定托管代理所使用的操作系统镜像版本。只有符合以下两种场景时,vmImage配置才会生效:

  • 未显式指定pool.name,使用默认的微软托管代理池
  • pool.name指定为微软官方提供的托管代理池名称(如默认的Azure Pipelines池)

自托管代理池场景下,vmImage无任何调度筛选作用。

配置修正建议

如果你需要限制自托管代理的操作系统类型,可将系统内置的代理能力加入demands配置实现筛选,示例:

pool:
  name: Default
  demands:
    - npm
    # 仅允许 macOS 代理拾取作业
    - Agent.OS -equals Darwin

其他可选的系统能力包括Agent.OSVersion、Agent.Architecture等,可根据实际需求配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:15:03