我一直在寻找自我托管NuGet,很难理解如何设置它以及它将如何帮助支持我们的开发过程。
有没有人建议使用哪种方法,如何设置?
或者我应该只使用托管服务?
答案 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.exe或Nuget 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