跳到元数据的末尾
转到元数据的开始

概述

青蛙宾托日落

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

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


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

配置发行版存储库

控件中访问您的发行版存储库管理模块下存储库|发行版。



页面内容

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

  1. 连接Bintray—从您的Bintray帐户获得Artifactory连接和部署包的授权
  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

在“人工输入”下设置路径过滤器= jfrog - (. *) . rpm

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

有了这些设置,一个名为jfrog-artifactory.rpm将部署到Bintray中的一个名为rpm-artifactory,同时一个包调用jfrog-mission-control.rpm将部署到Bintray中的一个名为rpm-mission-control

示例2

在人工输入项下,库中筛选=填词- (. *)

在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部分的字段中使用以下格式反向引用它们:

美元(来源:名称)

地点:

path:来自的捕获组路径过滤器字段应该被反向引用

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

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

如果你设置:

在人工输入项下,库中筛选= (? < myRepo >——)

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

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

示例2

如果你设置:

在人工输入项下,路径过滤器= jfrog - (? < myPath >。*). rpm

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

然后一个叫做jfrog-artifactory.rpm在库libs-release-local将部署到Bintray中的一个名为rpm-artifactory,同时一个包调用jfrog-mission-control.rpm将部署到Bintray中的一个名为rpm-mission-control

列举捕获组

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

例如,如果您设置:

在人工输入项下,路径过滤器= 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的存储库中任务控制

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

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

在人工输入项下,路径过滤器> = jfrog -(? <类型。*),(. *)

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

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

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


分布构件

配置好发行版存储库之后,将文件放入Bintray的最后一步是调用发行版。当您调用分发时,Artifactory将按顺序遍历为您的分发存储库定义的规则,直到您尝试分发的工件通过其中一条规则,然后根据该规则将文件上传到Bintray。发布后,该文件也将出现在发布存储库中,表明它已上传到Bintray。

有两种方法:

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

通过UI进行分发

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

通过UI分发

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

分配对话框

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

选中后,文件将异步上传。要验证上传到Bintray是否成功,请刷新发行版存储库以查看分布式文件。

当未选中时,如果上传到Bintray失败,Artifactory将显示一条错误消息。

如果上传Bintray失败,请参考人工系统日志获取详细信息。

发布分布式构件
选中后,将发布上传到Bintray的文件,以便最终用户可以下载它们
覆盖现有文件
选中后,上传的文件将覆盖另一个同名的文件,如果该文件存在于上传路径中。


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

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

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

成功的部分

如果在将分布式文件移动到Bintray时发生错误,“分发”对话框还将显示一个错误部分。在下面的示例中,success部分显示尝试将文件上传到version4.0.2在包JSON在库通用的。错误节提供解释失败的详细错误消息。

错误的部分

排练

模拟将选定的文件移动到Bintray而不实际分发它们的行为。这是一种很好的方法,可以确保您的配置是正确的,并且不会阻碍您将文件移动到Bintray。

点击“Dry Run”开始模拟。完成后,Artifactory将显示成功错误节,就好像文件实际上是分发的一样。

别搞混了

在演练中,没有文件被移动;这只是一个模拟

通过REST API分发

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