如何通过Azure Pipelines删除JFrog Artifactory中30天以上的旧构件?
需求实现可行性解答
首先可以明确:你提到的这个需求完全可以通过JFrog官方提供的Azure Pipelines Task Group实现,不需要自行封装完整的API调用逻辑。
具体实现步骤参考
- 先确保你的Azure DevOps环境已经安装了官方JFrog扩展,引用其中的JFrog Artifactory任务组,先完成Artifactory服务连接配置,确认使用的授权账号具备目标仓库的查询、删除权限。
- 调用任务组内置的AQL(Artifactory Query Language)查询能力,配置过滤规则即可筛选出存储时长超过30天的制品,参考AQL语句如下:
items.find({"repo": "替换为你的目标仓库名", "created": {"$lt": "30d"}}) - 开启任务组内置的批量删除开关,即可自动删除符合过滤规则的所有老旧制品。
- 测试阶段建议先开启*模拟执行(Dry Run)*模式,先导出待删除制品清单确认规则无误后,再开启实际删除操作,避免误删。
补充说明
如果需要叠加更多过滤规则,比如只删除指定路径、指定后缀的制品,直接在上述AQL语句中补充对应过滤条件即可,任务组完全支持自定义AQL查询逻辑。
内容的提问来源于stack exchange,提问作者rosebloom
相关产品推荐
相关产品推荐

