使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获取最新版本,请访问JFrog统一平台
要设置新的发行版存储库,请单击新并执行以下主要步骤:
- 连接Bintray—从您的Bintray帐户获得Artifactory连接和部署包的授权
- 配置分布-指定基本分布参数
- 配置高级设置-指定高级设置
- 定义规则-指定管理此发行库如何将包部署到Bintray的规则
连接Bintray
工件通过您拥有管理权限的Bintray组织从Artifactory发行库同步到Bintray。要设置连接,首先需要授权Artifactory访问Bintray组织。Artifactory将显示一个弹出对话框,您可以在其中输入Bintray凭据。
已经登录Bintray了吗?
如果您已经登录到Bintray帐户,Artifactory将跳过此步骤
在授权访问您的帐户之后,您需要在该帐户中选择您授权Artifactory管理的组织。
Bintray将发出一个授权代码,您需要复制该代码,然后将其粘贴到发行版存储库配置中。
当您关闭带有授权码的弹出窗口时,Artifactory将显示一个弹出窗口供您输入。
完成此过程后,您可以在OAuth Applications下的组织配置文件页面中验证Artifactory是否已被授权访问您的Bintray组织。
基本分布参数
将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.rpm
从libs-release-local
将部署到Bintray中的一个名为rpm-release-local。
一个叫做jfrog-artifactory.rpm
从libs-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。
有两种方法:
- 通过UI进行分发
- 通过REST API分发
通过UI进行分发
要通过UI分发文件,请在Artifact Repository Browser中选择它并单击分发在右键菜单中。
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。详情请参阅分发工件和分发构建.