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

自托管与微软托管代理是否保留pipeline安装的程序包?

回答

两种代理的环境保留逻辑完全不同,分别说明:

Microsoft 托管代理

  • 每次 pipeline 运行时,系统会全新分配一台初始化完成的虚拟机承载任务,本次运行结束后虚拟机直接销毁回收,不会保留任何你在任务执行过程中安装的Python包、系统修改、自定义配置,每次运行都是完全干净的出厂环境。
  • 你在步骤中安装的依赖仅对当前这一次pipeline运行生效,下次运行需要重新执行安装步骤。如果配置了流水线缓存任务(比如内置的Cache任务缓存pip依赖目录),跨运行复用的包是缓存服务单独拉取的,不属于代理本身的环境残留。

自托管代理

  • 自托管代理运行在你自己提供的机器上,每次pipeline运行结束后不会重置机器环境,你此前在代理上安装的Python包、系统依赖、配置改动都会长期保留,后续调度到这台代理的pipeline任务可以直接读取到这些内容。
  • 实际使用需要注意几个常见问题:
    • 如果自托管代理池包含多台机器,pipeline调度会根据负载分配代理,你在单台机器上安装的依赖不会同步到池内其他机器,很容易出现偶发的任务失败。
    • 多个pipeline、同一pipeline的不同分支任务共用同一台自托管代理时,全局安装的包很容易出现版本冲突:比如A任务装了pytest 7.x,B任务要求pytest 6.x,没有做环境隔离的话会直接导致任务报错。
    • 长期残留的依赖包可能导致单元测试结果和开发本地、托管代理环境的结果不一致,建议即使使用自托管代理,也通过Python虚拟环境做运行时隔离,或者每次任务执行前显式安装指定版本的依赖,不要完全依赖代理上的残留包。

通用建议:无论使用哪种代理,都不要默认运行环境里已经预装了你需要的依赖,在pipeline步骤中显式安装固定版本的项目依赖,是避免环境不一致问题最稳妥的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:18:03