Trunk.io是专为研发团队打造的CI可靠性平台,核心能力覆盖不稳定测试(Flaky Test)全生命周期管理、智能合并队列、AI驱动的失败分析三大板块,支持任意编程语言、任意测试运行器以及市面上所有主流CI工具,目前已经获得Zillow、Brex、Faire等众多快速迭代的科技团队信任,帮助企业彻底解决CI流水线频繁变红、代码合并阻塞、CI资源成本失控等长期痛点。
对于日均合并数十上百个PR的中大型研发团队来说,CI不稳定测试导致的流水线随机失败、反复重试浪费算力的问题始终是DevOps运维的头号痛点,Trunk.io是目前市面上少有的从检测、隔离到根因修复全链路闭环的CI可靠性解决方案,实测可以将代码合并耗时从30分钟级压缩到2分钟,CI资源成本最高降低60%,投入产出比极高。
网站截图
Trunk.io在不同规模的研发团队中都已经验证了明确的落地效果,多个标杆客户的公开实践数据可以直观体现其价值:
通过Trunk的不稳定测试仪表盘,团队清晰识别出所有随机失败的测试用例,统计出受影响PR数量、出现频率和复现时长,彻底解决了测试随机失败导致的流水线不可用问题。
使用Trunk高级合并队列后,原本需要30分钟的批量代码合并过程直接缩短至2分钟,团队每周多出来的有效开发时间累计超过120人时。
接入Trunk的不稳定测试自动隔离功能后,CI流水线通过率直接从72%提升至98%,完全消除了不必要的测试重试环节,CI算力成本直接下降58%。
通过GitHub Action集成Trunk后,开源贡献者提交PR时可以自动获得代码质量检查、拼写错误排查结果,无需维护复杂的本地pre-commit钩子配置,项目维护效率大幅提升。
实时监控所有测试运行结果,自动识别表现不稳定的Flaky测试用例,不受编程语言和测试框架限制,历史数据回溯可以精准定位测试首次出现不稳定的时间点。
检测到不稳定测试后自动将其从主测试流中隔离,不会阻塞正常PR合并,同时持续在后台运行收集失败堆栈信息,完全不需要人工介入处理。
自动聚合重复失败案例,生成自然语言描述的故障根因分析摘要,帮助开发人员跳过冗余日志直接定位问题点,调试效率提升超过3倍。
内置反Flake保护机制,失败PR不会卡住整个队列,下游PR可以并行测试不受影响,完全避免主分支代码随机变红的问题。
支持单次最多将100个PR放在同一个CI任务中批量测试,批量测试失败后自动执行二分排查精准定位故障PR,不需要人工挨个回滚调试。
无缝对接Linear、Jira、Slack、VSCode等研发工具,自动生成故障工单、推送异常通知,所有测试状态直接展示在PR页面中,不需要跳转多个平台查看数据。
支持创建多条并行队列运行无冲突的变更,线上hotfix类高优先级提交可以直接插队处理,不需要排在普通PR队列末尾等待。
访问Trunk.io官方网站注册账号,通过OAuth授权关联自己的GitHub/GitLab代码仓库,完成基础的权限配置。
根据团队现有工具栈,完成Slack、Linear、Jira等常用研发工具的对接,配置故障通知规则和工单自动生成策略。
在需要接入的项目仓库中添加Trunk的GitHub Action配置文件,设置不稳定测试检测阈值、合并队列规则、告警通知人群等参数。
开启试运行模式采集7天左右的测试运行历史数据,根据平台生成的分析报告调整隔离规则、批量合并大小等参数,正式接入全量研发流程。
日均合并PR数量超过50个,传统CI流水线经常出现随机失败问题,研发效率被阻塞明显的团队。
长期被不稳定测试导致的CI告警、故障工单淹没,希望通过自动化工具降低日常运维工作量的技术人员。
需要简化外部贡献者PR审核流程,自动拦截基础代码质量问题,降低人工审核成本的项目负责人。
团队人力有限,没有多余精力专门搭建自研CI可靠性体系,希望开箱即用解决CI稳定性痛点的技术管理者。
需要统一管控数十个业务线的CI稳定性,集中收集测试运行数据输出全局优化报告的平台型团队。
测试用例数量巨大,随机失败用例占比高,长期耗费大量人力排查不稳定测试问题的质量保证团队。
可以直接在自己的开发环境中配置Trunk CLI,本地提前模拟CI环境运行测试,提前发现不稳定用例,避免PR提交后被流水线阻塞。
直接复用Trunk生成的不稳定测试分析报告,按照出现频率优先级逐步排查修复问题,不需要自己手动编写脚本统计测试稳定性数据。
可以基于Trunk开放的REST API对接内部现有自动化平台,将CI可靠性能力嵌入到已有的DevOps体系中,不需要推翻原有架构。
通过Trunk的运行数据统计CI资源浪费情况,针对性调整流水线调度策略,快速实现CI集群算力成本的优化。
将Trunk的AI故障分析能力与内部自研运维机器人打通,实现从故障发现到自动修复的全链路无人化处理。
通过Trunk的全局仪表盘查看全团队代码合并效率、CI稳定性趋势,为研发流程优化决策提供直观的数据支撑。
不绑定任何特定CI服务商,支持所有主流编程语言、测试运行器,哪怕是团队自研的特殊CI系统也可以快速完成对接,适配成本极低。
市面上绝大多数同类工具只能做到不稳定测试检测,Trunk.io额外提供自动隔离、后台持续采集数据、根因分析全链路能力,真正从根源解决问题。
对比GitHub原生合并队列,支持超过100个PR批量合并和自动二分故障定位,合并速度提升10倍以上,不会因为单个故障PR卡住整个队列。
不需要改造现有CI流水线的核心逻辑,只需要添加几行GitHub Action配置即可启用核心功能,最快10分钟就能完成基础接入体验效果。
| 对比项 | Trunk.io | GitHub原生Merge Queue | CircleCI |
|---|---|---|---|
| 不稳定测试检测 | 支持AI自动检测识别隔离 | 完全不支持 | 仅支持基础统计,无自动隔离 |
| 最大批量合并PR数 | 100个 | 最多支持10个 | 不支持批量合并 |
| 故障根因AI分析 | 内置支持自然语言摘要输出 | 不支持 | 仅提供原始日志 |
| 多队列并行调度 | 支持自定义多优先级队列 | 仅支持单队列 | 无合并队列能力 |
| CI成本优化效果 | 最高可降低60%冗余算力消耗 | 无成本优化能力 | 算力成本随使用量线性增长 |
Trunk.io提供免费试用权限,新用户可以体验核心的不稳定测试检测、基础合并队列功能;企业级方案需联系官方销售定制报价,支持SAML单点登录、自定义权限管控、专属技术支持等高级特性,可以根据团队人数和CI资源使用量灵活调整收费档位。
我们团队这次实际接入Trunk.io做了为期一周的灰度测试,整个配置过程比预想的顺畅很多:只需要在仓库的workflow目录下新增一个trunk-check.yaml文件,授权Trunk的GitHub App权限之后就可以开始采集历史测试数据。刚开始运行的24小时内,平台就自动识别出了我们团队之前一直忽略的7个不稳定测试用例,其中有2个我们之前还一直以为是代码逻辑的偶现bug,实际是测试用例本身依赖的外部第三方接口不稳定导致的。开启智能合并队列之后,我们当天处理的30多个PR只用了不到15分钟就全部合并完成,换作之前传统串行队列模式至少要等1个半小时,效果提升非常直观。唯一的小遗憾是目前平台暂不支持中文界面,对国内英文不好的开发同学有一点上手门槛,但是整体体验下来性价比非常高,我们已经计划全团队正式迁移到Trunk的合并队列体系了。
参考资料:
评论 (0)