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

Azure DevOps能否配置自托管代理池并启用云代理fallback机制?

在Azure DevOps实现自托管代理不可用时自动Fallback到云代理的方案

Azure DevOps没有内置的“混合代理池”功能,没法直接把自托管和云代理放在同一个池里自动切换,但可以通过多作业+条件判断实现类似的fallback效果,具体步骤如下:

  • 定义两个独立作业:一个绑定你的自托管代理池,另一个使用Azure Pipelines的云代理(比如ubuntu-latest这类托管镜像)
  • 给自托管代理的作业开启continueOnError: true,确保即使它因无可用代理失败,管道也不会直接终止
  • 给云代理作业设置运行条件,仅当前面的自托管作业失败时才触发执行

示例YAML配置

jobs:
- job: RunOnSelfHosted
  pool:
    name: '你的自托管代理池名称' # 替换成你的自托管池名称
  continueOnError: true
  steps:
  - script: |
      echo "正在自托管代理上执行任务"
      # 这里放你的实际任务步骤
    displayName: '自托管代理任务'

- job: FallbackToCloud
  pool:
    vmImage: 'ubuntu-latest' # 按需选择云代理的操作系统镜像
  condition: failed('RunOnSelfHosted') # 仅当前一个作业失败时运行
  steps:
  - script: |
      echo "自托管代理不可用,切换至云代理执行任务"
      # 这里放和自托管作业相同的任务步骤
    displayName: '云代理 fallback 任务'

进阶优化

如果需要更精准判断是“代理不可用”而非作业本身失败,可以在自托管作业中添加前置检查,或者通过分析作业失败原因来调整条件,但大多数场景下,failed()已经能覆盖核心需求——当自托管代理无可用资源时,自动触发云代理作业。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:12:15