使用Artifactory 6。x ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog技术支持
矩阵参数介绍
矩阵参数键值对参数用分号(;)分隔,可以放在URI上的任何位置。
这是一个标准HTTP协议中指定参数的方法(除了查询参数和路径参数外)。
例如:
Artifactory使用矩阵参数:
- 将属性添加到构件中作为部署的一部分
- 使用矩阵参数控制工件分辨率
在部署时动态地向构件添加属性
您可以向部署(PUT)请求添加键值矩阵参数,这些参数将自动转换为已部署构件上的属性。
由于矩阵参数可以添加到URL的任何部分,而不仅仅是在最后,因此您可以将它们添加到目标部署基URL中。在部署时,在矩阵参数之后添加工件路径,最终部署的工件将被分配定义的属性。
您甚至可以使用动态属性,这取决于我们的部署框架。
例如,当使用Maven时,您可以向部署URL添加两个参数:buildNumber
和修订
, Maven在部署时将其替换为项目属性中的动态值(例如,通过使用Maven build-number插件)。
所以,如果你将分发URL定义为:
http://myserver: 8081 / artifactory / qa-releases; buildNumber = $ {buildNumber};修订= ${修订}
并部署到qa-releases
用下面的路径存储一个jar:
/ org/jfrog/build-info-api/1.3.1/build-info-api-1.3.1.jar
部署后,URL被转换为:
http://myserver:8081/artifactory/qa-releases;buildNumber=249;revision=1052/org/jfrog/build-info-api/1.3.1/build-info-api-1.3.1.jar
部署的build-info-api-1.3.1.jar
有两个新属性:
buildNumber = 1052 = 249修订
附加属性的权限
为了向已部署的构件添加属性,您必须具有“Annotate”权限。
用矩阵参数查询控制工件分辨率
矩阵参数也可以用于工件解析,以控制如何找到和服务工件。
目前支持两种类型的查询:
- 非冲突性的价值观
- 强制性的值。
非强制性属性
被解析的工件可能没有带有指定键的属性,或者具有带有指定键和指定精确值的属性(即,如果工件具有具有不冲突值的属性,则该工件被解析)。
非强制性属性由一个简单的键=值
参数。
例如:
当前工件属性 |
矩阵参数 |
解析结果 |
---|---|---|
颜色=黑色 |
颜色=黑色 |
好(200) |
None或height=50 |
颜色=黑色 |
好(200) |
颜色=红色 |
颜色=黑色 |
NOT_FOUND (404) |
强制性的属性
已解析的工件必须具有指定键和指定确切值的属性。
强制属性在属性键后用加号(+)标识:键+ =值
。
例如:
当前工件属性 |
矩阵参数 |
解析结果 |
---|---|---|
颜色=黑色 |
+ =黑色 |
好(200) |
None或height=50 |
+ =黑色 |
NOT_FOUND (404) |
颜色=红色 |
+ =黑色 |
NOT_FOUND (404) |
查询中的多个属性
多个键值矩阵参数是相加的,在每个键值子段之间形成AND查询。
多值属性支持
所有矩阵参数都可以支持多个值,用逗号分隔。例如:
颜色=红、金、绿