Nexus提供巧克力套餐

时间:2017-08-24 17:30:48

标签: chocolatey

不是来自NuGet背景,我不明白如何设置Nexus来提供Chocolatey包。

1 个答案:

答案 0 :(得分:4)

以下是您的操作方法:

  1. 创建指向https://chocolatey.org/api/v2/的NuGet代理存储库。这将允许您缓存来自chocolatey.org的软件包,如果在部署期间发生故障,它可以派上用场。
  2. 创建一个NuGet托管存储库。这是您发布私人包裹的地方。
  3. 创建包含上述存储库的组存储库。这是安装包时要设置--source标志的内容。
  4. 上面创建的托管repo下的NuGet选项卡将包含Package Source和Personal API Key。

    因此,如果托管的回购有:

    Package Source = "https://example.com/nexus/service/local/nuget/choco-releases/"
    Personal API Key = "d8471cc1-d350-3e45-a0c2-95d0b938e1d9"
    

    然后打包并发布私有mypackage包的调用如下所示:

    choco pack
    choco push --source "'https://example.com/nexus/service/local/nuget/choco-releases/'" -k="'d8471cc1-d350-3e45-a0c2-95d0b938e1d9'"
    

    要从私有源和公共源安装包,请使用组存储库作为源。上面创建的组repo下的NuGet选项卡将具有要使用的Package Source。

    因此,如果集团回购有:

    Package Source = "https://example.com/nexus/service/local/nuget/choco-all/"
    

    然后,安装私有和公开可用软件包的调用看起来像这样:

    choco install jdk8 mypackage --source "'https://example.com/nexus/service/local/nuget/choco-all/'" 
    

    jdk8包不在私人仓库中时; Nexus会将它从chocolatey.org中拉出来,将其缓存在代理仓库中,然后将其发送到choco install被调用的地方。