ARTIFACTORY:移动/复制工件的高级方法

山姆Rosenstein
2023-01-22 11:06

如何用AQL移动工件

注意:本文中的内容也适用于在存储库之间复制工件。

Artifactory的一个特性是能够轻松地将工件从一个存储库/位置移动到另一个存储库/位置。最直接的方法是右键单击UI中的工件,然后选择“Move”。之后,用户指定要移动工件的目标位置。控件也支持这个基本的移动功能移动项目API端点。

然而,在某些情况下,需要移动许多或非常具体的工件。在这种情况下,最好的方法是结合使用JFrog CLI随着Artifactory查询语言(AQL)来完成此任务。

步骤1:创建一个规格文件来返回给定的工件

在这种情况下,规范文件有两个强制参数:aql/pattern和target:

  • "pattern"或"aql":生成要移动的工件的aql查询
  • "target":工件将被移动到Artifactory上的目标位置

可以找到move命令的确切文件规范模式在这里

下面是一个示例filespec,它将把generic-local中的所有工件复制到generic-local-2
“文件”:[

" aql ": {
”项。查找":{
“回购”:“generic-local”

},
"target": "generic-local-2/"


有关可能的AQL查询的详细信息,请参阅AQL文档

第二步:使用JFrog命令行移动文件

接下来,我们可以使用移动文件使用上述AQL规范文件执行CLI命令。下面是一个如何将spec传递给这个命令的示例:$ jf rt mv——spec=spec.aql