【问题标题】:Push to Nexus 3 NuGet-repository from Jenkins CI without being asked for credentials从 Jenkins CI 推送到 Nexus 3 NuGet 存储库,无需提供凭据
【发布时间】:2018-10-24 22:38:30
【问题描述】:

这让我发疯了。我已经安装了 Nexus 3 OSS 以用作私有 NuGet 存储库并创建了一个用户敌人 jenkins。我按照文档显示的方式为 jenkins 用户获得了一个 ApiKey,现在我尝试使用

将我的包推送到 repo
nuget push .\AMAP.*.symbols.nupkg -Source http://nexus.local:8081/repository/nuget-hosted/ -ApiKey <JenkinsApiKeyHere>

但如果我这样做,我会被要求输入用户名和密码。我尝试按照网上一些来源的建议将用户名和密码设置为我的配置,如下所示:

nuget sources update -Name my-nuget -username jenkins -password <supersecretjenkinspwd>

但我仍然被要求输入用户名和密码!?顺便说一句,如sonatype docs 所示,授予对 nexus 的匿名访问。

正如您从上面看到的,我正在尝试从 jenkins 构建服务器执行此操作,并且我已经尝试了 nexus 工件上传器插件但没有成功。它以 NullPointer 失败:

java.lang.NullPointerException
    at sp.sd.nexusartifactuploader.steps.NexusArtifactUploaderStep.getUsername(NexusArtifactUploaderStep.java:132)

所以我认为它有同样的问题。如何在没有用户交互的情况下将我的 NuGet 包推送到 Nexus?

【问题讨论】:

    标签: jenkins nuget nexus3


    【解决方案1】:

    好的,我自己找到了解决方案。我需要将 NuGet API-Key Realm 添加到活动领域。默认情况下,它是不活动的,因此会阻止 ApiKey 被视为有效凭据。 这是在设置 -> 安全 -> 领域下完成的。

    【讨论】:

    • 嗨弗兰克。我是詹金斯的新手。我正在做 nuget push -Source 。当它在管道脚本中运行时,出现未授权错误。你能帮我弄清楚我必须在jenkins中更新api密钥、用户名和密码的地方吗?我在哪里可以找到你所说的这个设置?
    • 嘿,我找到了!谢谢。这是nexus oss中的设置
    • 是否需要用户名:密码和 API 密钥才能通过 nuget 推送上传?或者任何一个都足够好?
    猜你喜欢
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 2017-06-29
    • 2020-08-15
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多