Azure DevOps Server 2022.1中部分旧版本未删除的原因排查
可能导致发布版本未被清理的其他因素
针对你在Azure DevOps Server 2022.1中遇到的问题,除了你提到的项目保留策略、阶段配置和手动保留外,还有以下几个容易被忽略的因素:
- 关联构建/工件的保留规则:你开启了默认保留策略中的「保留构建:是」,如果对应发布版本关联的构建本身被其他规则(比如构建自身的保留策略、关联拉取请求的自动保留)锁定,发布版本会被连带保留,即使发布阶段未完成。
- 未处理的审批请求:Stage3处于等待手动审批状态的发布版本,Azure DevOps会默认留存这些版本直到审批动作完成(通过/拒绝/过期),不会触发阶段级的保留清理逻辑,哪怕超过了Stage2设置的10天期限。
- 保留策略的层级优先级问题:确认阶段的保留配置是否设置为「替代项目默认策略」。如果只是叠加项目级策略,项目默认的365天保留规则会覆盖阶段的10天设置,导致版本长期留存。
- 已部署资源的关联追踪:如果Stage1或Stage2已成功部署资源(如虚拟机、云资源组),且发布版本与这些资源存在审计回滚的关联,DevOps会保留版本用于追溯,直到关联资源被清理。
- 清理任务执行异常:服务器的保留策略清理任务是每日自动运行的,如果任务因权限不足、数据库锁、服务故障等原因执行失败,会导致版本堆积。可以检查Application Tier的事件日志或DevOps的任务历史,确认清理任务是否正常执行。
- 版本标签/自定义属性锁定:若发布版本被添加了特定系统标签(如
keep)或通过API设置了保留相关的自定义属性,会阻止版本被自动删除,可在版本详情页查看标签和属性信息。
内容的提问来源于stack exchange,提问作者Huadara
相关产品推荐
相关产品推荐

