本地NuGet Gallery部署是否需要Azure帐户?

本地NuGet Gallery部署是否需要Azure帐户?,第1张

概述我想运行一个本地NuGet Gallery来为我的构建系统提供依赖项. 我注意到在web.config中它要求Azure的详细信息,但代码似乎建议你可以选择’FileSystem’作为存储后端. 我的问题是: >如果我选择’FileSystem’,我该如何配置目标文件夹? >我可以将存储引擎指向SQL Server的内部实例吗? 我试图避免使用文件系统,因为这是我们现在使用的NuGet Serve 我想运行一个本地NuGet gallery来为我的构建系统提供依赖项.

我注意到在web.config中它要求Azure的详细信息,但代码似乎建议你可以选择’fileSystem’作为存储后端.

我的问题是:

>如果我选择’fileSystem’,我该如何配置目标文件夹?
>我可以将存储引擎指向sql Server的内部实例吗?

我试图避免使用文件系统,因为这是我们现在使用的NuGet Server,它非常慢.一些开发人员喜欢打包并推送每一个成功的构建,因此可伸缩性非常重要.

我希望这里的任何答案也能帮助别人.对于背景,这是设置您自己的NuGet gallery的一个很好的链接.遗憾的是,作者省略了与实际包存储有关的所有细节:https://github.com/NuGet/NuGetGallery/wiki/Hosting-the-NuGet-Gallery-Locally-in-IIS

解决方法 配置文件系统包存储:

<appSettings>  <add key="gallery:PackageStoreType" value="fileSystem" />  <add key="gallery:fileStorageDirectory" value="C:\Path\To\Packages" /></appSettings>

指向不同的sql Server:

<connectionStrings>  <add name="nugetgallery" connectionString="Data Source=sqlSERVERname;Initial Catalog=nugetgallery;Integrated Security=sspI" provIDername="System.Data.sqlClIEnt" /></connectionStrings>

编辑:支持sql Server作为包存储

如果要将包作为BLOB存储在sql Server中,则必须对代码进行一些更改.

首先,创建一个名为sqlServerfileStorageService的类并实现IfileStorageService.该接口有几种方法.重要的是Getfile()和Savefile().组合foldername和filename将创建可在数据库表中使用的唯一键.

您可以使用相同的连接字符串nugetgallery或为您的数据访问添加新的连接字符串.

然后,将项添加到名为sqlServer的枚举PackageStoreType中.

在ContainerBinding.cs中,为PackageStoreType.sqlServer添加一个大小写以绑定到sqlServerfileStorageService.

现在,NuGet gallery应该创建一个sqlServerfileStorageService,所有获取和保存将使用您的类将blob存储在sql Server中.

顺便说一句:我的基础是粗略看一下代码.可能还有一两步,但这些看起来就像您需要关注的主要领域.

希望有所帮助.

总结

以上是内存溢出为你收集整理的本地NuGet Gallery部署是否需要Azure帐户?全部内容,希望文章能够帮你解决本地NuGet Gallery部署是否需要Azure帐户?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126641.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存