Trunk icon

Trunk

認領

Trunk 是一個 CI 可靠性平台,可協助團隊偵測不穩定測試、隔離失敗,並管理 GitHub 工作流程中的合併佇列。提供免費方案、按用量付費方案,以及含 SSO 與內部部署的企業選項。

Trunk

概覽

Trunk 是一個面向團隊的 CI 可靠性平台,適合希望讓建置保持綠燈、減少不穩定測試雜訊,並更快推進 pull request 進入合併工作流程的團隊。此產品將不穩定測試偵測與隔離結合 merge queue 工具,讓團隊能在同一套系統中管理測試不穩定性與合併瓶頸。

此平台為基於 GitHub 的工作流程而設計,並支援任何語言、測試執行器或 CI 提供者來處理不穩定測試。在合併方面,它支援批次處理、平行佇列、webhook 與 Slack 通知,以及針對使用 Bazel、Nx 與 Turborepo 等工具的 monorepo 所設計的、能感知建置系統的工作流程。

功能

不穩定測試偵測與隔離

可跨任何語言、測試執行器或 CI 提供者偵測不穩定測試,然後自動將其隔離,同時仍持續收集失敗堆疊追蹤。

失敗分析與摘要

透過 pull request 中的測試摘要、重複失敗偵測,以及 AI 產生的錯誤摘要來分析失敗原因。

工單與工作流程整合

將失敗路由到 Linear 或 Jira,並使用 webhook 支援讓工單與通知與測試狀態保持同步。

合併佇列保護

透過 merge queue 行為保護主要分支,在合併前以最新的 main 驗證每個 PR。

批次處理與平行佇列

使用智慧批次處理與平行佇列將 PR 分組,以減少不相關變更造成的重複 CI 工作。

佇列自動化與控制

使用公開 REST API 與基於 GitHub 的佇列控制來提交、取消、優先排序並監控佇列中的 PR。

使用情境

  • 減少不穩定測試雜訊

    使用 Trunk 來識別不穩定測試、自動將其隔離,並在團隊持續交付時維持 CI 訊號可用。

  • 保護 main 分支

    使用 merge queue 保護、批次處理與平行佇列,讓 main 維持綠燈,並在大量 PR 同時進來時減少人工協調。

  • 讓審閱者與貢獻者隨時掌握更新

    使用 webhook 支援、Slack 通知與 PR 評論,讓工程師在不切換工具的情況下掌握測試狀態與佇列進度。

  • 自動化合併操作

    使用佇列控制、REST API 與 GitHub 整合,從既有工作流程介面管理優先順序、取消與狀態更新。

Pros and Cons

Pros

  • 將不穩定測試管理與 merge queue 工作流程整合於同一平台。
  • 可與任何語言、測試執行器及 CI 提供者搭配,用於不穩定測試偵測。
  • 支援自動隔離、PR 評論,以及與 Slack、Linear 和 Jira 的整合。
  • 提供 SSO、內部部署、管理工具與自訂帳單等企業控制功能。
  • 提供免費方案與試用選項,無需信用卡即可開始使用。

Cons

  • 定價採用按用量計費,而且免費方案僅限小型團隊,因此較大的團隊需要付費方案。
  • 部分功能標示為私人預覽,包括 Merge Queue 的內部部署,因此可用性可能有限。
  • 此產品主要針對 GitHub 儲存庫,因此不在此工作流程中的團隊可能不適合使用。

FAQ

Trunk 如何計算使用者數量?

Trunk 將使用者定義為過去 30 天內曾在已啟用 Trunk 的私人儲存庫中提交過 commit 的非 bot 使用者。貢獻者數量會顯示在「設定」頁面的「帳單」下方。

如果我超過免費方案限制會怎麼樣?

Trunk 採用寬鬆限制,因此你可以在任何規模下繼續使用,但如果超過免費方案限制,你會看到升級橫幅。如果用量遠高於方案上限,Trunk 可能會聯繫你討論升級。

我可以隨時取消嗎?

可以。你可以隨時取消你的 Trunk 帳戶。

我可以在不使用信用卡的情況下試用 Trunk 嗎?

可以。你可以在不使用信用卡的情況下開始使用 Trunk,但仍需符合免費方案的用量限制。

Trunk 有提供免費試用嗎?

可以。Trunk 提供免費方案,團隊也可以設置 Team 或 Enterprise 試用,並提供即時技術支援與指導。

Quick Facts

類別
CI 可靠性平台
主要用途
不穩定測試偵測、隔離與合併佇列管理
平台重點
GitHub 儲存庫
定價模式
免費方案加上按用量付費方案
企業選項
SSO、內部部署、管理工具、自訂帳單
網站
trunk.io