Sonatype Nexus缺少Api键

时间:2016-05-04 07:03:00

标签: package nuget push nexus sonatype

我使用Sonatype Nexus工具管理我公司的Nuget包。有测试和生产环境。

我通过" nuget.exe push -package -apikey"推送包裹。命令。在测试环境中不更改Api键。它完全正确。我推了所有的包裹。

我在生产环境中遇到了一些问题。我首先推了一个包,然后当我想推送其他包时它会询问用户名和密码。我再次在Sonatype Nexus接口上获得了一个新的api密钥。我推了一个包,然后再次询问用户名密码进行第二次试用和其他人。

因此,我必须在第一次试用后每次都获得一个新的api密钥,以便将我的Nuget软件包推送或删除到Sonatype Nexus工具。

你可以帮帮我吗? 谢谢

2 个答案:

答案 0 :(得分:8)

假设您使用的是Sonatype Nexus v3,我遇到了类似的问题,要解决检查是否已启用NuGet身份验证以及用户是否具有相应的权限。

启用NuGet身份验证(第8.7.1节。访问NuGet API密钥here),大致如下:
*以管理员身份登录 *在"管理" (齿轮顶部) - >安全 - >三界
*确保" NuGet API-Key Realm"在" Active"方框

另外,请检查您的用户是否拥有正确的权限,尤其是我找到了以下工作:
* nx-apikey-all
* nx-repository-view-*-*-*

这将允许用户查看,更新,发布,删除此Nexus服务器上的所有存储库。我推荐一种更精细的方法,一旦你开始工作,例如添加repository-view*权限,但不添加nx-repository-view-*-*-delete,以避免您的CI能够删除包。

答案 1 :(得分:0)

除了上一个答案。如果您有一个简单的方案,其中admin是唯一的用户,并且您使用连接到管理员帐户的API密钥发布,您将获得相同的结果410 Unauthorized。

为了解决这个问题,我已经创建了另一个具有上述答案权限的角色,除了nx-admin之外,还明确地将admin用户添加到该组。