Azure DevOps无法重新发布已永久删除artifact问题咨询
Azure DevOps 永久删除Artifact后无法重发的解决方法
这个问题是Azure Artifacts的元数据残留+全局索引缓存机制导致的,按以下步骤操作即可解决:
- 先对原目标feed执行CLI强制删除,清掉本地feed层的残留元数据
不要依赖界面的删除/回收站清空操作,本地安装好Azure DevOps CLI扩展后执行以下命令即可,就算执行时返回“包不存在”也要完整跑完,该命令会强制擦除feed关联的所有包版本索引记录:az artifacts universal delete --organization <你的DevOps组织地址> --feed <原feed名称> --name <artifact名称> --version <要重发的版本号> --yes - 调整新feed的上游源配置绕开全局缓存拦截
新建的空白feed默认开启的公共上游源,会拉取Azure Artifacts平台全局的包版本留存记录,哪怕feed本身是空的也会触发重发拦截。进入新feed的「设置-上游源」页面,临时移除所有默认配置的上游源,保存配置后再尝试发布即可绕过这层校验。 - 特殊场景处理
如果执行完前两步仍然报错,说明该版本的包记录已经进入Azure Artifacts的全局不可变存储,普通用户没有权限直接清理:- 若业务允许调整版本号,直接迭代一个小版本号(比如把1.2.0改成1.2.0-hotfix1或者1.2.1)再发布,是成本最低的解决方式
- 若必须使用完全一致的版本号,直接在DevOps后台提交支持工单,说明情况要求运维人员清理对应包版本的全局留存索引即可,处理时效一般在1-2个工作日。
补充说明:Azure Artifacts的回收站清空后,系统自动同步清理元数据和全局缓存的最长周期是48小时,没有特殊需求不用空等自动同步,按上述步骤操作可以跳过等待期。
内容的提问来源于stack exchange,提问作者yannick
相关产品推荐
相关产品推荐

