跳到元数据的末尾
进入元数据的开始

概述

JFrog Bintray日落

从2021年7月4日起,JFrog Bintray将不再受支持,取而代之的是一套先进的JFrog云托管解决方案,该解决方案基于Artifactory的增强功能,包括一套用于管理、控制和分发软件包的专用功能。

为了简化JFrog平台的工作效率,我们将取消Bintray(包括JCenter)、GoCenter和ChartCenter服务。这些服务的用户将需要迁移到相应的规范存储库,我们将继续提供这两种服务免费和付费的JFrog平台云订阅这可以满足其他二进制发行版的需求。此外,JFrog正在与一些中心合作码头工人帮助确保我们的客户和社区所依赖的基础设施得到良好维护。如需了解更多信息,请单击JFrog Bintray迁移指南


分发存储库提供了一种简单的方法将工件从Artifactory移动到Bintray,以便分发给最终用户。与Artifactory中的其他存储库相反,分发存储库不是按特定的包格式输入的,而是由一组规则来管理,这些规则指定到达分发存储库的工件应该如何路由到Bintray中相应的存储库。

配置分发存储库

中访问您的分发存储库管理模块下存储库|分发。



页面内容

要设置新的分发存储库,请单击并执行以下主要步骤:

  1. 连接到Bintray—Artifactory连接和部署包需要从Bintray帐号获取授权
  2. 配置分布—配置基本分布参数
  3. 配置高级设置-指定高级设置
  4. 定义规则-指定控制该分发存储库如何将包部署到Bintray的规则

连接到Bintray

通过您拥有管理权限的Bintray组织,工件从您的Artifactory分发存储库同步到Bintray。要建立连接,首先需要授权Artifactory访问Bintray组织。Artifactory将显示一个弹出对话框,您可以在其中输入您的Bintray凭证。

授权访问Bintray

已经登录到Bintray?

如果您已经登录到您的Bintray帐户,Artifactory将跳过这一步

在授权访问您的帐户之后,您需要在该帐户中选择您授权Artifactory管理的组织。

授权组织

Bintray将发出一个您需要复制的授权代码,然后粘贴到您的分发存储库配置中。

授权代码

当您关闭带有授权代码的弹出框时,Artifactory将显示一个弹出框供您输入。

一旦流程完成,您就可以在OAuth Applications下的组织配置文件页面中验证Artifactory已被授权访问Bintray组织。

Bintray OAuth应用程序

基本分布参数

一旦您将Artifactory设置为Bintray组织中的授权应用程序,您就可以设置分发参数


库的关键 存储库密钥。
一般

描述 存储库的描述。


Bintray产品

使用此存储库分发产品 设置时,指示通过此存储库分布的工件应链接到产品。Artifactory将创建产品(如果需要)并将部署的包链接到产品。
产品名称 产品名称。


Bintray应用程序

客户ID Bintray分配给Artifactory的客户端ID,作为一个授权的应用程序。
组织 Artifactory授权管理分销的Bintray组织。


默认存储库设置
如果Artifactory在Bintray上创建了一个新的存储库用于分发,该设置指定存储库应该是私有的还是公共的。如果存储库存在,不管这个设置如何,Artifactory都不会覆盖它的访问。


默认包设置

许可证 指定应附加到通过此存储库分发的任何包的OSS许可证。
风投公司网址 指定包的VCS URL通过这个存储库分发。

高级设置

代理
选择将工件同步到Bintray时要使用的代理。
GPG签署
设置完成后,Artifactory将GPG标志工件同步到Bintray。
GPG密码
用于GPG签名的密码短语。
将属性映射到Bintray属性
指定属性列表,如果它们注释了所分发的工件,则应该将其映射到Bintray中的版本属性。

管理规则

与Artifactory中的本地、远程和虚拟存储库不同,分发存储库不局限于特定的包类型。相反,您可以根据包类型指定一组规则不同的过滤器,它可以让你细粒度地控制如何将不同的包推送到Bintray进行分发。要查看为存储库定义的规则,请单击规则选项卡。新的分发存储库带有一组预定义的规则,您可以根据需要修改、删除或添加这些规则。

分发存储库规则

过滤和删除

开始在筛选框中键入规则的名称,以查找您要查找的规则。

将鼠标悬停在某条规则上,单击右侧的删除图标可删除该规则,或选择左侧列中的多条规则,单击删除一次删除几个规则。

规则秩序

规则显示的顺序指定了应用规则的顺序。要更改规则顺序,可以选择一个规则并将其拖动到列表中的新位置。

冲突的规则

虽然可以指定冲突的规则,但由于规则是按照它们出现的顺序应用的,因此应用的第一个规则将优先。

指定规则参数

单击,指定规则参数为了一个新的规则,或者的名字您要编辑的规则的。


的名字 此规则的逻辑名称


Artifactory输入
确定Artifactory中该规则应用于哪些包的参数。
包类型 指定应该应用此规则的工件包类型。忽略其他包类型的构件
使用令牌 根据所选择的包类型,这将指定可以使用哪些令牌来指定Bintray中的部署路径
库中筛选 通配符表达式,它指定应该对哪些原始源存储库应用此规则。忽略其他存储库中的包。
路径过滤器 通配符表达式,该表达式指定应应用此规则的工件路径。具有不同路径的包将被忽略。


输出Bintray
确定如何将工件部署到Bintray的参数。
存储库 应该将构件部署到其中的Bintray存储库。
工件应该部署到指定的Bintray存储库中的Bintray包。如果包不存在,将创建它
版本 工件应该部署到指定的Bintray包和存储库中的Bintray版本。如果该版本不存在,则将创建该版本。
路径 在指定的存储库中,工件应该部署到Bintray中的路径。

存储库和路径过滤器参数

规则为如何将工件部署到Bintray提供了巨大的灵活性,通过对捕获组使用正则表达式(捕获组可以命名或未命名)。

未命名的捕获组使用占位符标记进行反向引用,而已命名的捕获组使用其名称进行反向引用。

使用未命名的捕获组

中使用的每个正则表达式库中筛选路径过滤器字段Artifactory输入属性的字段中放置令牌Bintray输出节来反向引用它们。

令牌使用以下格式编写:

$ {x}来源:

地点:

路径中的通配符路径过滤器字段应被替换

对象的通配符库中筛选字段应被替换

x 通配符。

例如,

${路径:1}对象中的第一个正则表达式路径过滤器

${repo:2}表示替换库中筛选

示例1

在Artifactory Input下,设置路径过滤器= jfrog - (. *) . rpm

在“Bintray Output”下,设置存储库= rpm - ${路径:1}

通过这些设置,一个名为jfrog-artifactory.rpm将被部署到Bintray的一个名为rpm-artifactory,这时一个包裹打来了电话jfrog-mission-control.rpm将被部署到Bintray的一个名为rpm-mission-control

示例2

在Artifactory Input下,库中筛选=填词- (. *)

在Bintray Output下,存储库回购:= rpm - $ {1}

通过这些设置:

一个叫做jfrog-artifactory.rpmlibs-release-local将被部署到Bintray的一个名为rpm-release-local。

一个叫做jfrog-artifactory.rpmlibs-snapshot-local,将被部署到Bintray中的一个名为rpm-snapshot-local。

使用命名捕获组

控件中的捕获组库中筛选路径过滤器字段Artifactory输入的字段中使用捕获组的名称反向引用Bintray输出部分。

命名捕获组使用以下格式写入:

(? <名称> regex)

地点:

的名字 捕获组的逻辑名称
正则表达式 定义应该通过筛选器的存储库或路径的正则表达式

一旦定义了捕获组,你可以使用以下格式在Bintray Output部分的字段中反向引用它们:

美元(来源:名称)

地点:

路径中的捕获组路径过滤器字段应该反向引用

对象中的捕获组库中筛选字段应该反向引用

的名字 捕获组的名称。
示例1

如果你设置:

在Artifactory Input下,库中筛选= (? < myRepo >——)

在Bintray Output下,存储库=通用- ${回购:myRepo}

然后在存储库中打包建立当地的将被部署到Bintray的一个名为generic-builds

示例2

如果你设置:

在Artifactory Input下,路径过滤器= jfrog - (? < myPath >。*). rpm

在Bintray Output下,存储库= rpm - ${路径:myPath}

然后一个名为jfrog-artifactory.rpm在库libs-release-local将被部署到Bintray的一个名为rpm-artifactory,这时一个包裹打来了电话jfrog-mission-control.rpm将被部署到Bintray的一个名为rpm-mission-control

枚举捕获组

在指定规则参数时,可以使用多个捕获组,并且按照接收它们的顺序枚举它们。

例如,如果你设置:

在Artifactory Input下,路径过滤器= jfrog -(.*).(.*)

在Bintray Output下,存储库= ${路径:2}- ${路径:1}

然后:

jfrog-artifactory.rpm将被部署到Bintray的一个名为rpm-artifactory
jfrog-artifactory.zip将部署到Bintray的一个名为zip的存储库中-artifactory
jfrog-mission-control.rpm将被部署到Bintray的一个名为rpm-mission-control
jfrog-mission-control.zip将部署到Bintray的一个名为zip的存储库中任务控制

在指定规则参数时,您甚至可以将命名捕获组和未命名捕获组混合在一起,但是,它们仍然按照接收它们的顺序枚举。

展开上面的例子,如果你设置:

在Artifactory Input下,路径过滤器> = jfrog -(? <类型。*),(. *)

在Bintray Output下,存储库= ${路径:2}- ${路径:类型}

“type”被枚举为第一个捕获组,并使用其名称反向引用它。

未命名的捕获组在枚举顺序中是未命名的和第二的,因此使用它的编号2进行反向引用。


分布构件

配置好分发存储库后,将文件放到Bintray的最后一步是调用分发。当您调用分发时,Artifactory会依次检查为您的分发存储库定义的规则,直到您试图分发的工件通过其中一个规则,然后根据该规则将文件上传到Bintray。一旦发布,该文件也将出现在分发存储库中,以表明它已上传到Bintray。

有两种方法:

  1. 通过UI进行分发
  2. 通过REST API分发

通过UI分发

要通过UI分发文件,请在Artifact Repository Browser中选择它并单击分发在右键菜单中。

通过UI分发

Artifactory将弹出分发对话框,您可以在其中设置最终的分发参数。

分配对话框

分布存储库
工件应该通过分发存储库上传到Bintray。为这个存储库定义的规则将控制文件是否上传/如何上传。
异步分发工件

选中后,文件将异步上传。若要验证向Bintray上传成功,请刷新分发存储库以查看分发文件。

勾选时,如果上传Bintray失败,Artifactory将显示错误信息。

若上载至Bintray失败,请参阅Artifactory系统日志获取详细信息。

发布分布式工件
选中后,将发布上传到Bintray的文件,以供最终用户下载
覆盖现有文件
选中时,上传的文件将覆盖另一个具有相同名称的文件,如果它存在于上传路径中。


取消勾选异步分发工件将产生一个UI屏幕,表示分发过程的进度和摘要:

分发完成后,Artifactory将流程的结果显示在成功Section和错误部分。

成功部分显示存储库、包和分布式构件将托管在Bintray中的版本。如果分发过程创建了一个包或版本,这也将在Success部分中显示。在下面的示例中,创建了一个包和一个版本。

成功的部分

如果在将分布式文件移动到Bintray时发生错误,分发对话框还将显示一个错误部分。在下面的示例中,成功部分显示有人试图将文件上传到版本4.0.2在包JSON在库通用的。错误部分提供了解释该失败的详细错误消息。

错误的部分

排练

演练模拟将选定的文件移动到Bintray而不实际分发它们的行为。这是一个很好的方法来确保你的配置是正确的,没有障碍移动你的文件到Bintray。

点击“Dry Run”开始模拟。一旦完成,Artifactory将展示成功而且错误部分,就好像文件是实际分发的一样。

不要困惑

在演练中,不会移动任何文件;这只是一个模拟

通过REST API分发

JFrog Artifactory公开了一个REST API,允许您自动将工件部署到Bintray。详情请参阅分发工件而且分发构建