Build 如何在TeamCity中清理旧的失败版本?

Build 如何在TeamCity中清理旧的失败版本?,build,continuous-integration,teamcity,Build,Continuous Integration,Teamcity,TeamCity中有数百个失败的构建(由于旧的失败重试设置,这个数字特别高),现在浏览历史记录是一件痛苦的事情 我只想清理旧的失败版本,TeamCity中是否有这样做的方法?正常清理策略只允许在上次成功生成之前X天进行清理。我试图找到“删除生成历史记录”,但找不到。这并不能证明它不存在,但它确实存在,这将是开发人员滥用它的一个机会,因为一些PM使用历史作为衡量代码质量的指标。如果我们能够删除所有失败的构建,这将使这个统计游戏变得可行 当然,策略页面有一些调整,但不是您提到的那种(您不能删除失败的

TeamCity中有数百个失败的构建(由于旧的失败重试设置,这个数字特别高),现在浏览历史记录是一件痛苦的事情

我只想清理旧的失败版本,TeamCity中是否有这样做的方法?正常清理策略只允许在上次成功生成之前X天进行清理。

我试图找到“删除生成历史记录”,但找不到。这并不能证明它不存在,但它确实存在,这将是开发人员滥用它的一个机会,因为一些PM使用历史作为衡量代码质量的指标。如果我们能够删除所有失败的构建,这将使这个统计游戏变得可行

当然,策略页面有一些调整,但不是您提到的那种(您不能删除失败的构建) admin/cleanupPolicies.html


您可能希望锁定您喜爱的生成(这将保护它们不被清理),然后更改策略以清理1天前的所有内容,然后将策略更改回更合理的内容。

有一种方法可以删除生成,它使用REST协议:

获取特定生成的详细信息:
得到http://teamcity:8111/httpAuth/app/rest/builds/
(还支持删除以删除生成)
要运行它,您需要一个REST客户端。我用过,很不错。但是任何REST客户机都应该完成这项工作。 首先尝试测试TeamCity实例是有意义的,因为除了备份之外,您没有机会恢复已删除的构建

更新

TeamCity的新版本(从8开始?)支持自然删除构建。嘿嘿!!))


只需转到构建页面,然后操作>删除…

在TeamCity的最新版本中,您现在可以:

  • 单击要删除的生成
  • 从构建操作菜单中选择删除
  • 输入可选注释,然后单击“删除”按钮删除该生成

  • 这是一个好主意,可以只锁定需要的(例如成功的)构建,清除所有内容,然后取消绑定!TeamCity有一个权限模型,可以(并且确实)限制项目管理员删除构建的能力。如果担心普通开发者可能会“玩弄系统”,那么他们不一定需要拥有该权限。谢谢更新。在其他任何地方,人们都建议对API执行疯狂的http请求。在9.0.3版中经过测试和确认,这会删除工件本身吗?对于一堆构建来说,这样做有点困难——比如说,在周末连续运行触发器会导致不经意间。我想我得休息一下了。
    Get details of a specific build:
    GET http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>
    (also supports DELETE to delete a build)