Nexus 提供 Chocolatey 套餐

Nexus to serve up Chocolately packages

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

操作方法如下:

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

上面创建的托管存储库下的 NuGet 选项卡将包含包源和个人 API 密钥。

因此,如果托管存储库具有:

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

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

所以如果组回购有:

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

然后安装您的私有和 public 可用包的调用将如下所示:

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

jdk8包不在私有仓库中时; Nexus 将从 chocolatey.org 中提取它,将其缓存在代理存储库中,然后将其发送到调用 choco install 的位置。