【问题标题】:Nuget Gallery with multiple feeds具有多个提要的 Nuget 库
【发布时间】:2016-04-07 14:31:29
【问题描述】:

我最近安装了 Nuget Gallery (https://github.com/NuGet/NuGetGallery) 作为存储库。理想情况下,我想创建多个提要,以便我可以区分将在其他项目(dll、合同等)中重用的 nuget 包和我们用于将项目部署到生产环境的包。

我知道我可以通过创建 Nuget Gallery 的多个实例来实现这一点,但这在我看来有点矫枉过正,这意味着两个网站两个数据库。我也熟悉 MyGet 提供此功能的事实,但我无法获得购买批准。我也知道 teamcity 包含自己的提要服务器,但它不允许这种多提要场景,其性能也不足以大规模使用。

简而言之,理想的部署方案如下:

  • teamcity 根据构建场景生成部署包或 dll/合约包。
  • teamcity 将部署包发布到 nuget 库部署源 (例如:nugetgallery.server.com/deploy/api/v2)。
  • teamcity 将 dll/合同包发布到 nuget 库开发提要 (例如:nugetgallery.server.com/dev/api/v2)。
  • 章鱼总是在 nugetgallery.server.com/部署/api/v2
  • devs / teamcity 搜索包 nugetgallery.server.com/dev/api/v2

通过这种方式,我可以保持干净,甚至可以创建第三种类型的提要,它只包含发布包,这样我就可以确定如果它不在那个提要上,任何东西都不会部署到生产环境中。

我可能错过了一些基本方法,因此欢迎使用我选择的替代方法。

【问题讨论】:

  • afaik,两个 nuget 提要需要两个网站,用于 NugetGallery 和 NugetServer。它需要两个数据库吗?我从未使用过 NugetGallery,但对于 NuGetServer,我知道您可以将两个网站指向同一个存储库路径。
  • 我相当有信心至少可以将文件指向同一个位置,但对于两个不同站点的同一个数据库不太确定,因为我想不出一种方法来区分基于包的包在他们上传的网址上。我认为这就像拥有同一个网站的两个实例,不是吗?有一个 Gallery.SiteRoot 键我可以尝试使用它,看看是否符合目的
  • 嗯,好点子。通过您的设置,您需要两个数据库,因为如果您共享一个数据库,您会遇到包 ID 冲突,对吗?对我来说,这意味着您可能需要两个单独的数据库。
  • @rjso 尝试通过网站联系 MyGet 以帮助您尝试获得购买批准?有一个免费的 Enterprise 试用版,您可以试一试。
  • 嗨 Xavier,感谢您的建议。不幸的是,与我们行业中的许多事情一样,这个决定来自上面,我只是应该从中找到最佳解决方案。另一个“缺点”(因为我真的不这么认为)是 MyGet 只允许您将包存储在他们的在线存储库中,这显然是一件坏事,我们希望将所有内容都保存在本地服务器中

标签: nuget nuget-server nugetgallery


【解决方案1】:

由于找不到任何相关内容,我最终放弃并采用了两台服务器解决方案。我费了很大劲才找到任何关于 nuget 库真正具有哪些功能的文档。

现在我们有类似 deploy-nuget.server.com 和 dev-nuget.server.com 的东西,单独的 url、iis 实例和 sql 实例以及文件夹位置。

对于将来可能会研究此问题的人,可行的解决方案之一是根据用户创建私有存储库,不幸的是,在我的情况下这还不够,因为我还希望存储包在不同的位置,因此我们可以根据包的类型实施不同的备份策略。另一种选择是实际更改以分叉项目,但根据我以前的经验,这永远不会结束,因为您想要升级并且您的自定义更改必须以某种方式进行排序。

我知道这不是 nuget Gallery 背后的想法,因为您不应该删除包。但是我们确实有一些空间限制,所以最终我们将删除为我们显然不再关心的 QA 环境创建的某些部署包。

【讨论】:

    【解决方案2】:

    你可以试试Proget。使用此服务器,您可以轻松管理多个 NuGet 源。 它还提供支持所有功能的免费版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2015-10-10
      • 2019-03-07
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多