Azure Pipeline第3个dotnet test任务触发NuGet 401未授权错误求助
Azure DevOps构建流水线dotnet test第三次执行NuGet 401授权错误问题
问题现象
- 构建流水线将每个dotnet test任务分开执行,前两个任务始终成功,第三个任务固定触发NuGet未授权(401)错误
- 调整dotnet test任务顺序后,依然是第三个任务失败,说明问题与特定项目无关
当前流水线步骤
- 使用.NET Core 8.x(执行成功)——问题出现前使用的是6.x版本
- 使用NuGet 6.x(执行成功)
- 对整个解决方案执行NuGet Restore(执行成功)
- 构建整个解决方案(执行成功)
- 对第一个项目执行
dotnet test(执行成功) - 对第二个项目执行
dotnet test(执行成功) - 对第三个项目执行
dotnet test(执行失败)
失败任务的输出日志
Determining projects to restore... error: Unable to load the service index for source [private visualstudio.com nuget source]. error: Response status code does not indicate success: 401 (Unauthorized). ##[error]Error: The process 'D:\vsts_agent_0\_work\_tool\dotnet\dotnet.exe' failed with exit code 1
背景与疑问
- 该流水线已稳定运行多年,问题于昨日首次出现,至今已重复发生十余次
- 同期唯一重大变更:将
Use .Net Core任务从6.x升级至8.x - 疑问:NuGet是否存在安全机制,会将多次访问同一源的行为判定为DoS攻击?(注:每个dotnet test任务耗时数分钟,并非同时执行)
已尝试的处理及额外发现
- 由于已提前执行过NuGet Restore任务,为所有
dotnet test任务添加了--no-restore参数,目前流水线已能成功完成构建,但仍未明确问题根源 - 发现组织内另一个基于.NET 6的构建也在同一NuGet源上失败,因此无法完全确认.NET 8升级是直接诱因,怀疑是否.NET 8构建会锁定NuGet源,导致其他构建任务失败
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

