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

关于TFS RM 2015 Update 4构建保留策略偶发失效及规则咨询

TFS Release Management 2015 Update 4 构建保留策略详细规则及问题排查

我对TFS 2015 Update4的构建保留机制摸得比较透,针对你遇到的“多数策略生效但部分构建被忽略”的问题,先给你梳理下完整的保留策略规则,再聊聊可能的例外情况:

一、核心保留策略规则

  • 默认保留策略:TFS 2015 Update4会为每个构建定义自动设置基础保留规则:
    • 最近的5次成功构建会被保留
    • 最近的1次失败构建会被保留
    • 所有标记为*“保留永远”*的构建会跳过自动清理流程
  • 自定义保留策略的优先级:当你创建了自定义保留策略后,它会直接覆盖默认策略。自定义策略可以按多个维度精准配置:
    • 按构建状态(成功、失败、部分成功、已取消)筛选
    • 按构建所属分支(比如仅保留主分支的构建)
    • 按构建完成时间范围(比如保留过去30天内的所有构建)
    • 按构建编号或自定义标签(比如保留带有“ReleaseCandidate”标签的构建)
  • 策略执行的顺序逻辑:TFS处理保留规则时有固定顺序:
    1. 先检查构建是否被手动标记为*“保留永远”*,若是则直接跳过清理
    2. 接着检查自定义策略,满足条件的构建会被保留
    3. 最后对未被前两步覆盖的构建,应用默认策略进行清理

二、导致部分构建被忽略的常见原因

结合实际排查经验,你遇到的“部分构建被忽略”大概率是以下情况之一:

  • 构建状态不匹配策略条件:比如你的自定义策略只保留“成功”状态的构建,但某些失败/部分成功的构建会被直接清理,如果你误以为这些构建应该被保留,就会产生“策略被忽略”的错觉
  • 分支匹配规则不严谨:如果你的策略是针对特定分支(比如$/MyProject/Main),但部分构建是在feature分支或临时分支上运行的,这些构建不会触发该自定义策略,只会按默认规则处理
  • 手动干预修改了保留状态:如果有人手动取消了某构建的“保留”标记,或者手动标记了“删除”,那么即使策略要求保留,该构建也会被清理
  • 策略未覆盖目标构建定义:每个构建定义的保留策略是独立设置的,如果你只给部分构建定义配置了自定义策略,其他未配置的会沿用默认规则,可能看起来像是“被忽略”
  • 后台清理任务延迟:保留策略的清理是后台异步执行的任务,偶尔会有延迟,短时间内你可能看到构建还存在,过一段时间才会被清理,容易误以为策略没生效

三、快速验证策略有效性的方法

  • 查看构建的*“保留原因”*:在构建详情页面,你能看到该构建被保留的具体原因(手动标记、自定义策略或默认策略),如果显示“无保留原因”,说明它会被自动清理
  • 手动触发后台任务:在TFS管理控制台中找到“构建保留清理”相关的后台作业,手动触发一次执行,看是否符合预期
  • 检查分支路径语法:TFS 2015中分支路径通常使用$/项目名/分支路径格式,确保你设置的分支匹配规则没有语法错误,避免因路径不匹配导致策略失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:19:31