代码之家  ›  专栏  ›  技术社区  ›  Frank

从jenkins ci推送到nexus 3 nuget存储库,而不需要证书

  •  1
  • Frank  · 技术社区  · 6 年前

    这让我发疯了。我已经安装了nexus 3 oss作为一个私有的nuget存储库,并创建了一个用户forejenkins。按照文档显示的方式,我为jenkins用户获得了一个apikey,现在我尝试用

    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>
    

    但仍然有人问我用户名和密码!?顺便说一下,Nexus的匿名访问被授予,如 sonatype docs .

    正如你从上面看到的,我正在一个jenkins构建服务器上做这件事,我已经尝试了nexus工件上传插件,但没有成功。使用空指针失败:

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

    所以我觉得也有同样的问题。如何实现在没有用户交互的情况下将我的nuget包推送到nexus?

    1 回复  |  直到 6 年前
        1
  •  9
  •   Frank    6 年前

    好吧,我自己找到了解决办法。我需要添加 nuget api密钥域 去活跃的领域。默认情况下,它不处于活动状态,因此无法将apikey视为有效凭据。 这是在 设置->安全性->领域 .