You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Artifactory本地仓库删除的制品同步至关联远程仓库?

实现Artifactory实例间制品删除操作同步的方案

针对你描述的场景(ABC本地仓库删除制品后,XYZ远程仓库缓存未同步删除),可以通过以下几种方式实现删除操作的同步:

1. 配置远程仓库缓存自动清理规则

这是被动同步的方式,适合不需要实时删除的场景:

  • 设置缓存过期时间:在XYZ的远程仓库配置中,找到Cache Settings,设置Max Cache Item Age(比如设置为1天),当缓存中的制品超过这个时间后,会被自动标记为过期,后续客户端请求时会重新从ABC拉取最新状态(若原制品已删除,则返回404)。
  • 配置基于访问时间的清理:启用Evict Unused Items,设置Unused Period,比如超过7天未被访问的缓存制品会被自动清理,减少无效缓存的留存。

2. 主动触发缓存删除(手动/脚本化)

如果需要实时同步删除,可通过手动或API调用的方式主动清理XYZ的缓存:

  • 手动清理:登录XYZ的Artifactory界面,进入对应远程仓库的缓存目录,定位到已删除的制品路径,直接删除缓存条目。
  • API脚本调用:使用Artifactory的REST API定向删除缓存中的目标制品,示例命令如下:
    curl -X DELETE -u <XYZ用户名>:<XYZ密码> "https://xyz.arti.com/artifactory/<远程仓库名称>/<制品完整路径>"
    
    可以将这个API调用集成到ABC的制品删除流程中(比如CI/CD脚本、自定义工具),实现删除ABC制品后自动触发XYZ的缓存清理。

3. 配置删除事件的复制同步

通过Artifactory的复制功能同步删除操作:

  • 在ABC的本地仓库配置推送复制,目标指向XYZ的对应远程仓库(或对应的缓存路径),并开启Delete Replication选项。这样当ABC中删除制品时,复制任务会同步触发XYZ中对应制品缓存的删除操作,实现双向的删除同步。
  • 注意:需要确保两个Artifactory实例之间配置了有效的复制权限,且复制任务包含删除事件的同步规则。

4. 利用Webhook触发实时清理

通过Webhook监听ABC的删除事件,触发XYZ的缓存清理:

  • 在ABC的Artifactory中配置Webhook,监听Artifact Deleted事件;当事件发生时,Webhook会向预设的URL发送包含制品路径的通知。
  • 接收通知的服务(或简单的脚本)解析制品路径后,调用XYZ的REST API删除对应路径的缓存制品,实现实时的删除同步。

内容的提问来源于stack exchange,提问作者Navin prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:45:40