Azure Devops无法推送nuget包,权限问题

时间:2019-12-11 12:47:14

标签: azure-devops nuget

尝试设置.net核心Nuget程序包。除了将程序包推送到我们的私有Nuget提要中的最后一步之外,管道中的所有内容都有效。每次推送都会失败:

Response status code does not indicate success: 
403 (Forbidden - User 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' 
lacks permission to complete this action. You need to have 'AddPackage'.

这也是它正在推送的prem linux(centos 7)服务器。我尝试使用新的PAT重新安装代理。代理具有完全权限,其中应包括“ AddPackage”权限。尽管我不能肯定地说它已经推送了另一个nuget软件包,但是该构建服务器对于其他项目也能正常工作。我安装了git凭据提供程序,但这似乎没有什么不同。

如果我直接进入服务器并执行它尝试执行的命令,但是添加--interactive开关,它将起作用。所以这个:

/home/mydevopsuser/agent/_work/_tool/dotnet/dotnet nuget push /home/mydevopsuser/agent/_work/9/a/MyNugetPackage.1.0.0.nupkg --source https://myazuredevopsaccount.pkgs.visualstudio.com/_packaging/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/nuget/v3/index.json --api-key VSTS --interactive

工作正常。

我在该主题上进行的所有搜索似乎都表明PAT有问题或nuget提要具有权限,但我的帐户对提要具有权限,并且PAT仍应覆盖该提要(我认为)。似乎代理使用的完全权限PAT应该可以正常工作。我想念什么?

1 个答案:

答案 0 :(得分:0)

好吧,这是通过在nuget feed中添加“ Build Service”用户来解决的? 因此,显然有一个用户被创建了一些命名方式:

[project name] Build Service (organization name)

我在Feed权限中添加了该用户(级别/角色“贡献者”),现在可以正常使用了。这似乎不是执行此操作的正确方法,但它确实起作用。我找不到任何文档可以告诉我该用户来自何处,或者该文档需要添加到Feed中才能推送程序包。