【问题标题】:Artifactory AQL delete empty foldersArtifactory AQL 删除空文件夹
【发布时间】:2016-11-18 07:21:13
【问题描述】:

如何使用 Artifactory AQL 删除空文件夹(没有任何内容的文件夹)?

我有当前的 AQL 查询来查找早于 12w 且从未下载过的文件,我将通过脚本将其删除。

items.find(
    {
        "repo":{"$eq":"libs-release-local"},
        "stat.downloads":{"$eq":null},
        "created":{"$before" : "12w"},
    }
)

这给我留下了空文件夹,如何指定查找所有空文件夹的 AQL 查询?

【问题讨论】:

    标签: artifactory artifactory-query-lang


    【解决方案1】:

    来自Artifactory Query Language documentation:如果查询中没有指定类型,则默认搜索的类型是文件。

    通过向查询添加类型,您可以控制结果类型:文件、文件夹或两者。

    例如:

    items.find(
        {
            "repo": {"$eq":"libs-release-local"},
            "stat.downloads": {"$eq":null},
            "created": {"$before" : "12w"},
            "type": {"$eq":"any"}
        }
    )
    

    【讨论】:

    • 此查询查找包含 pom/artifacts 的文件夹。我们在 Artifactory 和 Gradle 中使用 Maven 存储库作为获取工具,我猜 gradle 从不查询文件夹,只查询文件夹中的 pom 和工件。
    【解决方案2】:

    如果您不同意使用 AQL,请注意 JFrog 有一个 Empty Folder Clean-up plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多