Trunk icon

Trunk

认领

Trunk 是一款 CI 可靠性平台,帮助团队检测不稳定测试、隔离失败,并在基于 GitHub 的工作流中管理合并队列;提供免费版、按用量付费方案及企业版选项,如 SSO 和本地部署。

Trunk

概述

Trunk 是一款面向希望保持构建绿色、减少不稳定测试噪音并更快推动 Pull Request 通过合并工作流的团队的 CI 可靠性平台。该产品将不稳定测试检测与隔离和合并队列工具结合在一起,使团队能够在一个系统中管理测试不稳定性和合并瓶颈。

该平台专为基于 GitHub 的工作流构建,并支持任意语言、测试运行器或 CI 提供商进行不稳定测试处理。在合并方面,它支持批处理、并行队列、webhook 和 Slack 通知,以及面向使用 Bazel、Nx 和 Turborepo 等工具的单体仓库的、感知构建系统的工作流。

功能

不稳定测试检测与隔离

检测任何语言、测试运行器或 CI 提供商中的不稳定测试,然后自动隔离它们,同时仍收集失败堆栈跟踪。

故障分析与摘要

通过 Pull Request 中的测试摘要、重复失败检测,以及 AI 生成的失败原因摘要来分析故障。

工单与工作流集成

将失败路由到 Linear 或 Jira,并使用 webhook 支持让工单和通知与测试状态保持同步。

合并队列保护

通过合并队列行为保护主分支,在合并前让每个 PR 基于最新的 main 进行验证。

批处理与并行队列

使用智能批处理和并行队列对 PR 进行分组,减少无关变更带来的重复 CI 工作。

队列自动化与控制

使用公开 REST API 和基于 GitHub 的队列控制来提交、取消、优先排序并监控队列中的 PR。

使用场景

  • 减少不稳定测试噪音

    使用 Trunk 来识别不稳定测试、自动隔离它们,并在团队继续交付的同时保持 CI 信号可用。

  • 保护主分支

    使用合并队列保护、批处理和并行队列来保持 main 绿色,并在大量 PR 同时到达时减少人工协调。

  • 让审阅者和贡献者保持更新

    使用 webhook 支持、Slack 通知和 PR 评论,让工程师无需切换工具即可了解测试状态和队列进度。

  • 自动化合并操作

    使用队列控制、REST API 和 GitHub 集成,从现有工作流界面管理优先级、取消和状态更新。

Pros and Cons

Pros

  • 将不稳定测试管理和合并队列工作流整合到一个平台中。
  • 可与任何语言、测试运行器和 CI 提供商配合,用于不稳定测试检测。
  • 支持自动隔离、PR 评论,以及与 Slack、Linear 和 Jira 的集成。
  • 提供 SSO、本地部署、管理工具和自定义账单等企业控制能力。
  • 提供免费版和试用选项,开始使用无需信用卡。

Cons

  • 定价采用按用量计费,且免费版仅适用于小团队,因此更大的团队需要付费方案。
  • 某些功能被描述为私有预览,包括 Merge Queue 的本地部署,因此可用性可能有限。
  • 该产品专注于 GitHub 仓库,因此不在该工作流中的团队可能不适合。

FAQ

Trunk 如何统计用户数量?

Trunk 将用户定义为在过去 30 天内向已启用 Trunk 的私有仓库提交过代码的非机器人用户。贡献者数量显示在“设置”页面的“账单”下。

如果我超出免费版限制会怎样?

Trunk 使用软限制,因此你可以在任何规模下继续使用;但如果超过免费版限制,你会看到升级提示横幅。如果使用量远高于套餐上限,Trunk 可能会联系你讨论升级。

我可以随时取消吗?

可以。你可以随时取消你的 Trunk 账户。

我可以在没有信用卡的情况下试用 Trunk 吗?

可以。你可以在不使用信用卡的情况下开始使用 Trunk,直到达到免费版使用限制。

Trunk 提供免费试用吗?

可以。Trunk 提供免费版,团队也可以设置 Team 或 Enterprise 试用,并提供实时技术支持和指导。

Quick Facts

类别
CI 可靠性平台
主要用途
不稳定测试检测、隔离和合并队列管理
平台重点
GitHub 仓库
定价模式
免费版加按用量计费的付费方案
企业版选项
SSO、本地部署、管理工具、自定义账单
网站
trunk.io