如何清除指定Artifactory远程仓库的缓存及清理目标仓库?
清除Artifactory远程仓库缓存及指定仓库清理方案
一、通过Artifactory UI直接操作(适合单次清理)
- 清理远程仓库缓存:
- 登录Artifactory后台,进入Admin > Repositories > Remote
- 找到目标远程仓库,点击右侧的Actions > Edit
- 在仓库配置页面,滚动到Advanced区域,点击Clear Cache按钮,确认后即可清空该仓库的缓存
- 清理目标仓库内容:
- 进入对应仓库类型的管理页面(如本地仓库进入Admin > Repositories > Local)
- 选中目标仓库,点击Actions > Delete Content
- 可按路径、日期范围等条件筛选要删除的内容,确认后执行清理
二、使用REST API实现精准清理(适合自动化/批量场景)
1. 清空远程仓库缓存
发送POST请求(需携带Artifactory认证信息):
POST /api/repositories/{repoKey}/clearCache
将{repoKey}替换为目标远程仓库的键名即可。
2. 按条件清理指定仓库内容
使用AQL查询配合删除接口,比如删除某仓库30天前的内容:
发送DELETE请求到/api/search/aql,请求体为:
items.find({ "repo": "your-target-repo", "created": {"$lt": "now(-30d)"} }).include("name", "repo", "path")
执行前建议先单独运行AQL查询,确认结果范围符合预期。
三、配置Cleanup Plugin实现指定仓库清理
你提到的Cleanup Plugin支持指定仓库范围,只需修改其配置文件:
- 找到插件配置文件(通常路径为
$ARTIFACTORY_HOME/etc/plugins/cleanup.groovy) - 修改
repositories参数为目标仓库的键名数组,示例:
def repositories = ["maven-remote-cache", "npm-local-repo"] // 仅清理这两个仓库
- 保存配置后,Artifactory会自动加载更新,后续插件仅清理你指定的仓库
内容的提问来源于stack exchange,提问作者V.Tatischev
相关产品推荐
相关产品推荐

