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

Azure DevOps规模集代理池:如何预配时使用最新代理版本?

解决Azure DevOps VMSS代理池预配时直接使用最新代理版本的方法

1. 自定义VM镜像,预先植入最新代理

  • 手动搭建一台基础VM,安装对应系统的Azure DevOps代理最新版本(比如你需要的2.213.2)
  • 配置代理为自动启动的系统服务,确保能正常连接到你的Azure DevOps组织
  • 将这台VM捕获为自定义镜像,替换VMSS原来的默认镜像
  • 后续VMSS预配新VM时,会直接使用带最新代理的镜像,跳过后续升级步骤

2. 修改VMSS扩展配置,指定代理版本

  • 进入VMSS的扩展设置,找到Microsoft.VisualStudio.Services.Agent扩展
  • 在扩展配置中添加agentVersion参数,设置为目标最新版本号(如2.213.2)
  • 这样VMSS在预配VM时,会直接下载指定版本的代理,而非默认旧版本

3. 给VMSS加启动脚本,强制更新代理

  • 如果暂时不想换镜像,可以给VMSS添加自定义脚本扩展,在VM启动后立即升级代理
  • 举个Windows VM的PowerShell脚本示例:
    $agentDir = "C:\agent"
    $targetVersion = "2.213.2"
    $orgUrl = "<你的Azure DevOps组织URL>"
    $poolName = "<代理池名称>"
    $patToken = "<你的PAT令牌>"
    
    # 清理旧代理
    if (Test-Path $agentDir) {
        cd $agentDir
        .\config.cmd remove --unattended --auth PAT --token $patToken
        Remove-Item $agentDir -Recurse -Force
    }
    
    # 下载并安装指定版本代理
    $zipUrl = "https://vstsagentpackage.azureedge.net/agent/$targetVersion/vsts-agent-win-x64-$targetVersion.zip"
    Invoke-WebRequest -Uri $zipUrl -OutFile "agent.zip"
    Expand-Archive -Path "agent.zip" -DestinationPath $agentDir
    cd $agentDir
    .\config.cmd --unattended --url $orgUrl --pool $poolName --agent $env:COMPUTERNAME --auth PAT --token $patToken --runAsService
    
    (记得替换脚本里的组织URL、代理池名称和PAT令牌)

4. 利用Azure DevOps托管代理的自定义镜像(适用托管池场景)

  • 若使用Azure托管代理池,可以基于官方托管代理镜像,预先安装最新代理版本,再将这个自定义镜像用于VMSS预配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:55:19