6个理由分发商业NuGet包通过Bintray

更新:自2021年5月1日起,Bintray服务将不再可用(ConanCenter和JCenter不受影响),更多信息请阅读中心弃用博客

在。net开发?那么,很有可能,你对NuGet画廊并不陌生。这是一个找到公共NuGet包的好地方。但是它是托管和分发您自己的私有包的最佳场所吗?随着NuGet的本地支持的最近添加,你现在可以指向你的NuGet客户端Bintray,并透明地使用它作为你的NuGet包的下载源。在这篇文章中,我将展示Bintray如何补充NuGet Gallery,以及它为私有和公共NuGet包的商业分发提供的好处。

具有细粒度访问控制的隐私

有了Bintray上的专业账户,你可以创建私人存储库并设置具有不同权限的用户团队根据您想为每个团队提供的访问权限。使用键和权利,您可以向没有Bintray帐户访问权限的外部用户提供任何粒度级别的访问权限,从整个存储库到单个工件。

元数据

在Bintray上,每一个包装都伴随着各种各样的元数据可以用来搜索和下载软件包。这些包括包使用的所有者、开源许可、可以找到包的源代码的版本控制链接、甚至用户定义的属性等等。

快速下载

Bintray部署在美国、欧洲和亚洲集群上,并通过快速CDN (Akamai和Cloudfront)提供超快速下载。

丰富的统计和日志

丰富的统计数据提供任何时间段的详细下载信息,实时日志提供关于谁正在访问您的包的详细信息。

与Artifactory集成

Bintray的严格与Artifactory集成意味着你可以完全自动化从开发到发布的。net开发流程。

通用配送中心

Bintray可以满足所有软件包类型的企业分发需求。除了NuGet, Bintray还提供了对Docker、Debian、Maven、RPM和Vagrant包的本地级别支持。这意味着Bintray维护特定于这些包类型的元数据,并可以透明地与相应的客户机一起工作。

它是如何工作的?

其实很简单。

首先,创建一个存储库并将其类型指定为NuGet。

创建NuGet存储库

现在,您所需要做的就是将您的NuGet客户端或Visual Studio指向Bintray上的新存储库。这同样简单,Bintray甚至向你展示了如何做到这一点。在新的存储库页面上,只需单击Set Me Up。出于可读性的考虑,在本文中,我将使用NuGet客户端。

建立一个NuGet库

所以,就像Set Me Up对话框显示的那样,要配置NuGet客户端来使用Bintray,你需要将Bintray添加到客户端的源列表中:

nuget sources Add -Name Bintray -Source https://api.bintray.com/nuget/jaycroaker/MyNugetRepo -UserName -Password

如你所见,你需要包括你的Bintray用户名和API密匙

然后,你需要使用你的Bintray API密钥与NuGet客户端:

nuget setapikey : -Source Bintray

现在,您已经准备好将包从NuGet客户机直接部署到bintray。举个例子,假设您想要上传一个您创建的名为MyLogger的日志记录实用程序(是的,我尽量保持简单)。你习惯吸毒吗nuget推?嗯,一切都没有改变:

nuget推动MyLogger.1.0.0.0。nupkg源https://api.bintray.com/nuget/jaycroaker/MyNugetRepo

现在,您应该能够在新的NuGet存储库中看到您的包,并完成了指定的版本。

解决NuGet包

和解决NuGet包从Bintray与NuGet客户端一样简单:

安装MyLogger -Source https://api.bintray.com/nuget/jaycroaker/MyNugetRepo

正如你所看到的,一旦你添加了Bintray作为NuGet客户端的源,你就可以了而且安装就像你在NuGet画廊工作一样。由于Bintray是一个通用的分发中心,当使用这些包类型的对应客户端与Docker、Debian、RPM、Maven和Vagrant一起工作时,您可以同样轻松地从Bintray中推入和拉出。通过Bintray上的通用存储库,您可以托管通用发行版,如安装程序或数据文件,使用起来同样方便。随着我们继续增加对越来越多包类型的支持,使用Bintray将继续变得更容易。