15

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

有人对使用哪个,如何设置有任何建议吗?

还是我应该只使用托管服务?

4

4 回答 4

14

在查看了各种解决方案(自托管和托管服务)之后,我们选择了ProGet

ProGet 总结

ProGet 为企业版提供标准的“免费”许可和象征性许可费用(单年和永久)。我们目前使用标准的“免费”版本,没有真正的抱怨。您可以根据需要创建任意数量的提要、添加任意数量的用户等。(我们创建了“测试”、“暂存”和“生产”提要作为我们质量保证流程的一部分。)唯一真正的限制在免费版本中,无法过滤您希望包含在 ProGet 提要中的特定软件包的外部提要。此过滤功能通过“连接器”进行管理。使用企业版——当你创建一个提要时——你可以选择添加一个“连接器”来从其他提要(外部或内部)拉入包。

ProGet 与 Nuget 包管理和创建

创建 nuget 包本身的步骤我将留给 David Ebbo 的热门博客文章http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.html。但是,要知道要上传包,您可以通过 ProGet 包管理 Web UI、命令行 nuget.exeNuget Package Explorer 上传

ProGet 安装、配置和激活

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

Proget 质量控制和 CI

带有 TeamCity 的 CI 是我们将需要的东西,因此我们正在考虑使用 TeamCity 的 Nuget 服务器创建一个 nuget 包构建过程。有一个如何创建我将在评论中发布的包的方法。下一步是自动将 TeamCity 创建的 nuget 包发布到适当的 ProGet 源(即“测试”、“暂存”、“生产”),可能使用带有 API 密钥的命令行 Nuget。

更多的信息

我们将 MyGet 视为一项托管服务,但它似乎在添加其他贡献者/用户等简单场景时出现问题。当需要两个以上的贡献者帐户时,它的价格也大幅上涨。而使用 ProGet,您只需使用免费版本即可获得无限的用户帐户。

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

于 2012-09-11T18:42:01.047 回答
11

自托管的另一个选择是使用 NuGet.Server 包并创建一个 IIS 网站以在您的内部网络上托管它,但如果您计划发布多个包,它的扩展性不会很好。

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

于 2012-09-11T21:33:13.693 回答
1

为了使这个线程保持最新,Visual Studio Team Services 还提供了一个包管理器的预览版。查看市场:包管理

于 2016-01-06T08:08:29.783 回答
0

您可以创建一个空的 Asp.Net Web 应用程序并Nuget.Server从 Nuget Gallery 安装。这是在 IIS 上自行托管您自己的 Nuget 包的免费选项。检查文档

于 2017-06-15T09:41:40.517 回答