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

如何在ADO微软托管构建代理管道中途重启并继续Hyper-V后续任务

在Azure DevOps微软托管构建代理中实现中途重启后继续执行任务

核心限制说明

微软托管构建代理基于临时虚拟机运行,每个作业对应全新的实例,作业结束后实例会被销毁。若在作业中途重启代理,当前作业会因代理离线直接失败,且重启后的实例无法被原作业复用继续执行剩余任务。因此直接在微软托管代理的单作业中重启后续任务的方案不可行,需调整实现方式:

可行解决方案

方案1:改用自我托管代理(推荐)

只有自我托管代理可保留环境配置,重启后ADO能重新连接并继续执行作业,步骤如下:

  • 安装Hyper-V(添加-NoRestart避免自动重启):
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
    
  • 强制重启代理并等待恢复:
    Restart-Computer -Force
    # 等待代理重新上线,根据实际情况调整延迟时长
    Start-Sleep -Seconds 120
    
  • 重启完成后执行剩余任务:
    Get-VM
    

方案2:拆分管道为两个独立作业(仅适用于特殊场景,不推荐)

若坚持使用微软托管代理,需将任务拆分为两个独立作业,但需注意每个作业的代理都是全新实例,第二个作业需重新执行环境配置:

  1. 第一个作业:执行Hyper-V安装命令(无法完成重启生效)
  2. 第二个作业:依赖第一个作业完成,重新安装Hyper-V并尝试执行后续任务(此方案无法利用重启后的生效状态,仅能满足形式上的任务拆分)

关键提示

Hyper-V安装需重启生效的特性与微软托管代理的临时实例机制冲突,自我托管代理是唯一能满足需求的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:25:23