Azure DevOps管道中能否关闭并行作业?新手部署Python应用遇“No hosted parallelism has been purchased or granted”错误求助
解决Azure Pipelines的“No hosted parallelism has been purchased or granted”错误
嘿,别着急,这个问题其实和你是不是用并行作业关系不大——我来给你掰扯清楚:
这个错误提示的核心不是说你在跑并行任务,而是你的Azure DevOps组织没有可用的微软托管代理并行额度。哪怕你只跑一个串行作业,只要用的是微软托管的代理(比如默认的ubuntu-latest/windows-latest这些),都需要占用一个额度,而现在新创建的私有组织默认已经没有免费的托管额度了,公共项目倒是还保留,但私有项目就会触发这个报错。
那该怎么解决呢?给你几个可行的方案:
- 申请免费的私有项目额度:微软针对小型团队、开源关联项目等,提供免费的托管并行额度申请入口。你可以进入Azure DevOps组织的设置页面,找到「Parallel jobs」选项,按照提示提交申请,一般小团队的申请很容易通过。
- 改用自托管代理:如果只是测试或者小项目需求,完全可以用自己的电脑搭建自托管代理,这样就不需要依赖微软的托管额度了。步骤很简单:
- 进入组织设置的「Agent pools」,新建一个代理池(或者用默认的「Default」池)
- 点击「New agent」,下载对应操作系统的代理安装包到你的电脑
- 按照指引完成代理的配置和启动,确保它能连接到你的Azure DevOps组织
- 在你的管道yaml里,添加
pool: <你的自托管代理池名称>,替换掉默认的托管代理池
- 购买托管并行额度:如果是企业级需求,直接购买对应的托管并行作业额度就行,适合长期稳定使用。
回到你的情况,哪怕你只设置了python.version为3.7,只要用的是微软托管代理,就会因为没有额度而报错。所以现在的关键不是“关闭并行作业”,而是解决代理额度的问题——毕竟串行作业也需要一个代理实例来运行呀。
内容的提问来源于stack exchange,提问作者Filin
相关产品推荐
相关产品推荐

