VSTS中Download Build Artifacts无法获取指定构建定义最新构建并报错
解决VSTS Download Build Artifacts任务报错“Build with id NaN not found”的问题
你在使用私有代理下载其他构建定义的工件时碰到这个报错,我来帮你一步步排查解决:
1. 先排查任务配置的核心参数
错误里的NaN说明任务根本没获取到有效的构建ID,大概率是配置环节出了问题:
- 打开你的构建定义,找到Download Build Artifacts任务,重点看Build version to download选项:
- 如果选了
Specific build,确认你填写的构建ID是有效的数字(比如123这类),别留空或者填了非数字内容; - 如果选了
Latest build,检查下方的Branch filter是否和目标构建定义的分支匹配,而且这个分支下必须有成功完成的构建(没有成功构建的话,任务也找不到有效ID); - 再核对下你填的Build definition id确实是6,有没有输错数字?
- 如果选了
2. 验证私有代理账号的权限
私有代理是通过服务账号运行的,这个账号必须有权限访问目标构建定义的工件:
- 进入Azure DevOps项目的Project settings → Build and release → Build definitions,找到ID为6的构建定义;
- 点击该定义的Security选项卡,检查运行代理的服务账号(或者项目级的Build Service账号)是否拥有Read和Download build artifacts权限,没有的话就添加对应的权限。
3. 确认私有代理的网络连通性
有时候代理机器的网络问题会导致任务无法获取构建信息:
- 在代理机器上打开浏览器,访问你的Azure DevOps项目页面,确认能正常加载,并且能查看ID为6的构建定义的历史构建;
- 如果你的网络需要通过企业代理访问外部,检查私有代理的配置文件(
proxy.config)是否正确设置了代理服务器信息,确保代理能和Azure DevOps服务器正常通信。
4. 升级Download Build Artifacts任务版本
你当前用的任务版本是0.127.5,这个版本比较老旧,新版本通常会修复一些已知bug:
- 在构建定义的任务列表里,点击Download Build Artifacts任务旁边的小齿轮,选择Update task升级到最新版本,之后重新运行构建试试。
内容的提问来源于stack exchange,提问作者PRAVEEN PDBR
相关产品推荐
相关产品推荐

