我最近安装了 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/contract 包发布到 nuget Gallery 开发提要(例如:nugetgallery.server.com/dev/api/v2 )。
- 章鱼总是在nugetgallery.server.com/deploy /api/v2中搜索包
- devs / teamcity 在nugetgallery.server.com/dev/api/v2中搜索包
这样我就可以保持干净,甚至可以创建第三种类型的提要,它只包含发布包,这样我就可以确定如果它不在那个提要上,任何东西都不会部署到生产中。
我可能错过了一些基本方法,因此欢迎使用我选择的替代方法。