Azure DevOps无法推送NuGet包,权限问题。

4

我正在尝试设置一个 .net core Nuget 包。在流程中的所有步骤都正常,唯独最后一步将包推送到我们的私有 Nuget feed 时失败了。每次推送都会出现以下错误:

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'.

这是一台本地的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 feed的权限存在问题,但是我的帐户对该feed具有权限,而且PAT应该覆盖它(我想)。看起来代理使用的完全权限PAT应该可以正常工作。我错过了什么?

1个回答

3

好的,这个问题已经通过将“Build Service”用户添加到NuGet源中来解决了? 看起来有一个用户以某种方式被创建,名为:

[project name] Build Service (organization name)

我在 feeds 权限中添加了这个用户(级别/角色为“贡献者”),现在它可以正常工作了。虽然这不像是正确的做法,但确实起作用了。我找不到任何文档告诉我这个用户来自哪里,或者需要将其添加到 feed 中以推送包。


太好了,你解决了它。你可以接受它作为答案。构建服务是用于运行构建并充当用户更新源的帐户。 - Levi Lu-MSFT
对我来说,这个情况有点奇怪。你创建了一个具有特定权限的PAT,但仍然需要添加一个用户。 - user2033791
1
据我所知,PAT仅用于设置代理。运行中的代理不使用此PAT。 - riQQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接