Azure DevOps执行DotNetCoreCLI推送Nuget包报403无法加载源服务索引如何解决
解决方案
该报错本质是pipeline运行时使用的Build Service服务账号缺少目标NuGet feed的访问权限,dotnet push命令执行时会先拉取源的元数据信息,因此即使是推送操作也需要读取权限,按以下步骤配置即可解决:
- 进入Azure DevOps项目左侧导航栏的「Artifacts」模块,选择你yaml中
publishVstsFeed参数对应的目标feed - 点击feed页面右上角的齿轮图标进入feed设置页
- 左侧菜单选择「权限」选项,点击「添加用户/组」按钮
- 搜索对应服务账号:
- 如果是项目范围的feed,搜索
{你的项目名称} Build Service ({你的组织名称}) - 如果是组织范围的feed,搜索
Project Collection Build Service ({你的组织名称})
你也可以直接搜索报错信息里提示的GUID对应的用户,或者直接搜索你的pipeline名称匹配对应服务账号
- 如果是项目范围的feed,搜索
- 给该服务账号分配「参与者」角色,该角色默认包含
ReadPackages和WritePackages权限,完全满足NuGet包推送的权限要求 - 保存权限配置后重新运行pipeline即可
注意:如果你的feed是组织级别创建的,需要先切换到组织级别Artifacts的feed设置页面修改权限,项目级别的权限配置不会生效。
内容的提问来源于stack exchange,提问作者VivekDev
相关产品推荐
相关产品推荐

