【问题标题】:How to cleanup old Failed Builds in TeamCity?如何清理 TeamCity 中旧的失败构建?
【发布时间】:2015-03-17 00:44:02
【问题描述】:

我们在 TeamCity 中确实有数百个失败的构建(这个数字特别高,因为旧的失败设置重试),现在浏览历史记录很痛苦。

我只想清理旧的失败构建,在 TeamCity 中是否可以这样做?正常的清理策略只允许在最后一次成功构建前 X 天进行清理。

【问题讨论】:

    标签: build continuous-integration teamcity


    【解决方案1】:

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

    1. 单击要删除的构建。
    2. 从 Build Actions 菜单中选择 Remove...
    3. 添加可选注释并单击“删除”按钮以删除该构建。

    【讨论】:

    • 在 9.0.3 版本中测试并确认
    • 这会删除工件本身吗?
    • 对于一堆构建来说这样做有点费力 - 说你不小心导致触发器在周末连续运行。我认为,我必须打破一些 REST。
    【解决方案2】:

    有一种删除构建的方法,它使用 REST 协议:http://confluence.jetbrains.net/display/TW/REST+API+Plugin

    Get details of a specific build:
    GET http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>
    (also supports DELETE to delete a build)
    

    要运行它,您需要一个 REST 客户端。我用过a plugin for Firefox,非常好。但是任何 REST 客户端都应该完成这项工作。 首先尝试测试 TeamCity 实例是有意义的,因为除了备份之外,您将没有机会恢复已删除的构建。

    更新

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

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

    【讨论】:

    • 感谢您的更新。人们建议在其他任何地方向 API 发出疯狂的 http 请求。
    【解决方案3】:

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

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

    您可能想要固定您最喜欢的构建(这应该可以保护它们免于清理),然后更改策略以清理 1 天前的所有内容,然后将策略更改回更合理的内容。

    【讨论】:

    • 钉住只需要(例如成功的)构建,清理所有,然后取消固定的好主意!虽然仅适用于少量构建))
    • TeamCity 有一个权限模型,可以(并且确实)将删除构建的能力限制为项目管理员。如果担心他们可能会“玩弄系统”,普通开发人员不一定需要获得该权限。
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多