首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从存储库列表中删除旧构件

从存储库列表中删除旧构件
EN

Stack Overflow用户
提问于 2021-12-07 01:24:51
回答 2查看 919关注 0票数 2

我正在尝试从jfrog工件工厂的存储库列表中删除工件(超过6个月)。我正在创建如下所示的spec文件,并使用该规范删除使用jfrog。我的查询有什么方法可以执行aql in循环而不是手动更新回购名称: foobar

代码语言:javascript
运行
复制
 {
  "files": [
    {
      "aql": {
        "items.find": {
          "repo": "foobar",
          "$or": [
            {
              "$and": [
                {
                  "modified": { "$lt": "2021-06-06T21:26:52.000Z"}
                }
              ]
            }
          ]
        }
      }
    }
  ]
}```
jfrog rt del --spec /tmp/foo.spec --dry-run

I want to run the aql in loops only change will be the repo name . Is there a way to do it ?
EN

回答 2

Stack Overflow用户

发布于 2022-02-16 14:19:20

您还可以考虑使用JFrog插件:https://github.com/jfrog/jfrog-cli-plugins/tree/main/rt-cleanup,它比文件规范方法简单一些。您所需要做的就是安装插件:

代码语言:javascript
运行
复制
jf plugin install rt-cleanup

然后删除旧工件:

代码语言:javascript
运行
复制
jf rt-cleanup clean example-repo-local --time-unit=month --no-dl=6
票数 1
EN

Stack Overflow用户

发布于 2022-09-26 07:17:30

我们已经发布了一个工具,可以帮助您避免错误,丑陋的AQL查询您的清理政策。https://github.com/devopshq/artifactory-cleanup

最近发布的版本支持YAML配置,就您的情况而言,如下所示:

代码语言:javascript
运行
复制
# artifactory-cleanup.yaml
artifactory-cleanup:
  server: https://repo.example.com/artifactory
  # $VAR is auto populated from environment variables
  user: $ARTIFACTORY_USERNAME
  password: $ARTIFACTORY_PASSWORD

  policies:
    - name: Remove all files from repo-name-here older than 180 days
      rules:
        - rule: Repo
          name: "reponame"
        - rule: DeleteOlderThan
          days: 180

然后您可以在“delete”模式下运行它(默认情况下这是模式),以查看该工具将要删除的所有文件:

代码语言:javascript
运行
复制
# Set the credentials with delete permissions
export ARTIFACTORY_USERNAME=usernamehere
export ARTIFACTORY_PASSWORD=password

artifactory-cleanup

如果你同意的话-在销毁模式下运行

代码语言:javascript
运行
复制
artifactory-cleanup --destroy

若要查看多个存储库(如果它们与某些模式匹配),可以使用RepoByMask规则而不是Repo

下面的示例将从myrepo.snapshototherrepo.snapshot和其他匹配掩码的文件中删除所有超过180天的文件。

代码语言:javascript
运行
复制
- rule: RepoByMask
  mask: "*.snapshot"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70253900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档