2017-10-17 122 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)