2017-10-17 121 views
0

在我的mvn回购中映射最多的存储重量部分是很难的。 我怀疑我的大部分空间都被不必要的工件或快照占用。如何映射Artifactory中最大的文件文件夹

如何退回Artifactory(Maven回购)中所有文件夹的排序列表(从大到小)?

我看了Jfrog api和cli指南,但无法找到直截了当的答案。

回答

1

您可以使用Artifactory的的AQL让你以后。 例如,让所有项目在一个仓库中,在那里创造了超过30天前,由尺寸下降(磁盘空间)分类:

items.find(
{ 
      "repo":"my-local-repo", 
      "$or":[ 
       { 
        "$and":[ 
        { 
         "created":{"$before":"30d"} 
        } 
          ] 
       } 
       ] 
    } 
).sort({"$desc" : ["size"]}) 

您可以使用Artifactory的的REST API发送您的AQL查询。 您可以阅读更多关于AQL here的信息,这是一个“调谐”您的查询,以查找您的信息。

注意:虽然您可以在CLI中使用AQL,但CLI的AQL查询目前不支持排序,因此请使用REST API。

HTH, 或

+0

在文档中没有找到任何示例。应该如何构造REST API,哪种方法?标题/正文应该是什么样子? 你介意包含例子(curl/python/java),以便我可以接受你的答案。 (我的解决方案正在工作,你的看起来更优雅,但我想在验收之前验证它正在工作) – Vano

+0

1. REST API文档在这里 - https://www.jfrog.com/confluence/display/RTF/Artifactory+REST + API#ArtifactoryRESTAPI-SEARCHES。头是一个简单的身份验证头,如此处所述 - https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Authentication。帖子的主体是我在答复中提供的JSON。 2.现在您可以使用JFrog的CLI与SORT和LIMIT,这可能会更容易使用,如此处所述 - https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+ Artifactory#CLIforJFrogArtifactory-SearchingFiles –

+0

下面是所有上述的卷曲示例:curl -X POST -u MyUser:MyPassword -H“content-type:text/plain”-d'items.find({“repo”:“我的本地回购“,”$或“:[{”$和“:[{”created“:{”$ before“:”30d“}}]}]})。sort({”$ desc“: [“size”]})。limit(3)'http:// myartifactoryserver:8081/artifactory/api/search/aql –

0

我想出了small python script这确实产生了这样一个列表。

例子:

python ./arti_parse.py -r www.artifactory.mycompany.com/artifactory/api/storage/libs-snapshot-local?list&deep=1&listFolders=1&mdTimestamps=1 -u myuser -p mypass 


将产生以下的输出:

-- Some output omitted -- com/mycompany/tools/platform - 64.8GiB (Total: 420.9GiB) com/mycompany/tools/ba - 71.2GiB (Total: 492.1GiB) com/mycompany/common/server - 115.4GiB (Total: 607.5GiB) com/mycompany/common/client - 169.7GiB (Total: 777.2GiB) com/mycompany/common/Automation - 295.4GiB (Total: 1.0TiB)