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

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

在。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密匙

然后,你需要在NuGet客户端中启用Bintray API键:

nuget setapikey : -Source Bintray

现在你已经准备好将包从NuGet客户端直接部署到bintray。举个例子,假设你想上传你创建的一个很棒的日志记录工具MyLogger(是的,我想让事情简单些)。你用惯了吗nuget推?嗯,什么都没有改变:

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

现在您应该能够在新的NuGet存储库中看到您的包,其中包含您分配的版本。

解析NuGet包

和解决NuGet包从Bintray与NuGet客户端同样容易:

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

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