自我托管NuGet

时间:2012-09-11 17:07:00

标签: nuget nuget-server

我一直在寻找自我托管NuGet,很难理解如何设置它以及它将如何帮助支持我们的开发过程。

有没有人建议使用哪种方法,如何设置?

或者我应该只使用托管服务?

4 个答案:

答案 0 :(得分:12)

在查看各种解决方案 - 自托管和托管服务 - 我们选择了ProGet

ProGet摘要

ProGet为企业版提供标准的“免费”许可和名义许可费(单年和永久)。我们目前使用标准的“免费”版本,没有真正的抱怨。您可以根据需要创建任意数量的供稿,添加任意数量的用户等。(我们创建了“测试”,“暂存”和“生产”供稿,以成为我们质量保证流程的一部分。)唯一的实际限制在免费版本中,无法过滤您想要包含在ProGet Feed中的特定包的外部Feed。此过滤功能使用“连接器”进行管理。使用企业版 - 当您创建订阅源时 - 您可以选择添加“连接器”以从其他订阅源(外部或内部)提取包。

使用Nuget包管理和创建ProGet

创建nuget包本身的步骤我将留给David Ebbo的热门博客帖子http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.html。但是,请注意,要上传软件包,您可以通过ProGet软件包管理网页用户界面command-line nuget.exeNuget Package Explorer上传。

ProGet安装,配置和激活

安装,配置和激活ProGet是最不直观的部分。它可以安装由常规SQL Server数据库或SQL Server Express数据库支持。此外,它还可以是自托管应用程序或在IIS下运行。如果您需要执行离线激活或想要请求不同的许可证密钥,请转到my.inedo.com并创建一个帐户,您可以从那里开始执行所有操作。

Proget Quality Control& CI

使用TeamCity的CI是我们需要的,所以我们正在寻找使用TeamCity的Nuget服务器创建nuget包构建过程。我将在评论中发布创建包的方法。下一步是自动将TeamCity创建的nuget包发布到相应的ProGet提要(即“测试”,“暂存”,“生产”),或许可以使用带有API密钥的命令行Nuget。

更多信息

我们将MyGet视为托管服务,但它似乎在添加其他贡献者/用户等简单场景中绊倒。当需要的不仅仅是两个贡献者账户时,它的价格也大幅上涨。而使用ProGet,您可以使用免费版本获得无限制的用户帐户。

还有一个注意事项:对于发布OSS类型的项目/包,我会看一下Chocolatey作为解决方案。

答案 1 :(得分:11)

自托管的另一个选择是使用NuGet.Server软件包并创建一个IIS网站来在内部网络上托管它,但如果您计划发布多个软件包,它将无法很好地扩展。

我创建了一个NuGet.Server的分支,它使用Lucene.Net索引来修复这些性能问题。可从https://github.com/themotleyfool/Klondike/releases下载。

答案 2 :(得分:1)

为了使此线程保持最新,Visual Studio Team Services还预览了一个包管理器。查看市场:Package Management

答案 3 :(得分:0)

You can create an empty Asp.Net Web Application and install Nuget.Server from Nuget Gallery. This is a free option of self hosting your own Nuget packages on IIS. Check the documentation