..

快速删除 artifactory 删的过期文件

首先我们需要安装安装 artifactory 的命令行工具, jfrog cli , 网址是 https://github.com/jfrog/jfrog-cli

我们需要写一个 artifactory 的查询脚本, 查询出所有的过期文件, 下面这个脚本是查询出 2016-10-18T21:26:52.000Z 之前的文件。

{
  "files": [
    {
      "aql": {
        "items.find": {
          "repo": "foobar",
          "$or": [
            {
              "$and": [
                {
                  "modified": { "$lt": "2016-10-18T21:26:52.000Z"}
                }
              ]
            }
          ]
        }
      }
    }
  ]
}

我们也可以使用相对日期

"modified": { "$before":"6mo" }

然后我们使用 jfrog cli 命令行工具, 执行删除命令

jf rt del --spec /tmp/foo.spec --dry-run

加上 –dry-run 参数, 执行删除命令的时候,不会真的删除文件。

jf rt del --spec /tmp/foo.spec 

还可以设置一下并发的线程数量,这样删除会快一点

jf rt del --spec /tmp/foo.spec --threads=10

这样的删除会需要用户交互,我们可以加一个 –quiet 参数, 直接删除, 不会提示用户交互, 在 CI 或者自动化脚本的地方比较实用

jf rt del --spec /tmp/foo.spec --threads=10 --quiet

原文地址: https://stackoverflow.com/questions/40118550/artifactory-delete-all-artifacts-older-than-6-months