使用JFrog CLI时Artifactory中的怪异行为下载

时间:2020-11-01 09:00:29

标签: devops artifactory jfrog-cli

使用JFrog CLI进行下载时,我发现这确实很奇怪。
好,让我们从上传开始:当我要上传完整的目录层次结构时,说我具有以下结构:

root
│
└───Folder1
    └───Folder2
        │   file1
        │   file2
        │   file3
        │
        └───Folder3
                nested1
                nested2
                nested3

我想将Folder2的内容(而我的位置位于根目录!)及其所有子目录和文件上传到“ MyRepo / MyPath”中,因此我的存储库将如下所示:


MyRepo
    └───MyPath
        │   file1
        │   file2
        │   file3
        │
        └───Folder3
                nested1
                nested2
                nested3

如果我尝试这个:

jfrog rt upload --flat=false Folder1/Folder2/ MyRepo/MyPath/ 

在Artifactory的层次结构中,我将剩下Folder1/Folder2,这不是我想要的,所以我使用占位符:

我将执行以下命令:

jfrog rt upload --flat=false "Folder1/Folder2/(*)" MyRepo/MyPath/{1} 

效果很好,我可以理解逻辑:--flat=false是这样的,因此nested*文件将保留在Folder3目录中,而file*文件将保留在Folder2目录中。在Folder1/Folder2目录中,然后 占位符说:取出MyRepo/MyPath中的所有内容并将其复制到MyPath。完美!

尝试使用相同的逻辑进行逆操作(即下载):假设我想将Folder1/Folder2下的所有内容下载到我所在的jfrog rt download --flat=flase "MyRepo/MyPath/(*)" Folder1/Folder2/{1} 目录中,因此我将绘制第一个结构以上, 我尝试这个:

flat=true

但这会创建一个非常奇怪的目录结构,我什至不想在这里绘制它。解决方案是使用flat=false而不是row_numb | date | total_price | sales_count 1 Oct 200000 500 2 Nov 325000 650 ,这确实是不直观的,而且根本没有被理解。有人可以解释这种行为,或者至少将我引向JFrog中我需要报告的人吗?

1 个答案:

答案 0 :(得分:2)

这确实是一个错误。我刚刚在这里提交了此错误-https://github.com/jfrog/jfrog-cli/issues/883

该问题特定于占位符功能。当与“ jfrog rt download”命令中的占位符一起使用时,JFrog CLI似乎会误解--flat的正确定义。我相信这个问题很快就会解决。

非常感谢分享!!