Trunk

Trunk

Trunk · 程式設計

Trunk 是一款 AI 驅動的 DevOps 平台,目標是讓持續整合流程保持順暢。它能在任何程式語言、測試執行器或 CI 供應商上偵測、隔離並消除不穩定的測試。它同時運作一條平行化的合併佇列,在測試獨立提取請求的同時,維持主分支的穩定。你可以把它想成一套 DevOps 測試平台,專門給 CI/CD 工作流程已經開始拖慢腳步的團隊使用。當 CI 雜訊與合併瓶頸開始限制交付速度時,團隊就會找上 Trunk。

Trunk 的介面預覽

關於 Trunk

Trunk 是什麼

Trunk 針對兩個在程式碼庫與團隊規模變大後才會浮現的問題。第一個是不穩定的測試。在數萬個測試的規模下,即使只有 1% 的失敗率,幾乎每次執行都會出現假失敗。每一次假失敗都會耗掉開發者一天中 10 到 15 分鐘,用來讀紀錄、重跑工作並確認那只是雜訊。第二個是合併佇列。傳統佇列一次只測試一個提取請求。因此前端變更會卡在無關的後端工作後面,而佇列等待時間會隨著每一個新的 PR 增加。

Trunk 的解法是一套同時看顧這兩者的 CI 可靠性平台。它的不穩定測試工具採用分支感知分析,把主分支、PR 與合併佇列分別對待,用堆疊追蹤嵌入來標記失敗模式,並隔離不可靠的測試,讓壞掉的測試只有在真正壞掉時才讓 CI 失敗。它的合併佇列會同時測試彼此不重疊的變更,而不是排成一條序列。

這套平台支援任何程式語言、任何測試執行器與任何 CI 供應商,所以你不必改寫流程就能採用。這正是團隊最在意的地方。那有什麼缺點?它是一套給工程團隊用的產品。沒有行動應用程式,而且 Trunk 的對象是已經在用 CI 的開發者,不是一般使用者。它還按提交者計費,這讓小型個人專案比免費的業餘工具更難負擔。

開始使用

  1. 用你的 Git 代管帳號在 app.trunk.io 註冊,並連接你想讓 Trunk 監看的儲存庫。
  2. 建立一個 Trunk 組織,然後挑選團隊中更痛的難題:不穩定的測試,或合併佇列的序列化。
  3. 安裝 Trunk CLI 或 GitHub 應用程式,讓 Trunk 開始從你現有的流程收集測試跨度與 PR 資料。
  4. 讓 Trunk 分析幾次執行,然後直接在 PR 留言中檢視它標記的不穩定測試,並隔離你認同的那些。
  5. 第一個產品見效後再擴展到第二個,之後若升級到 Enterprise 方案,可再加上 SSO 或地端部署。

產品資訊

快速了解 Trunk 的定價、支援平台與效能。

免費方案是
付費方案$0 - $40/committer/mo
平台Web (CLI, VS Code extension, GitHub integration)
開發者Trunk
類別程式設計
發布日期May 2021
最近更新Sep 2025
網站訪問量40.5K
網站全球排名592.7K
API 提供狀態N/A

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 平台與 DevOps 工程師:Trunk 適合已經在用 CI、需要減少假失敗與佇列等待時間的團隊,前提是他們能連接現有的 Git 代管與 CI 供應商。
  • 成長中公司的工程主管:按提交者計費與團隊儀表板適合已過了序列合併佇列開始卡住這個階段的小組,而個人開發者從付費方案得到的價值很少。
  • 專注 QA 的開發者:每週花好幾小時分類不穩定測試的人,能從隔離流程得到最直接的回報。

任務

  • 偵測不穩定測試:Trunk 標記失敗模式,並找出那些因與程式碼變更無關的原因而失敗的測試,讓你少花時間讀紀錄。
  • 隔離不可靠的測試:被標記的測試失敗時不再阻擋流程,但仍保持可見以便清理,而關鍵業務測試可被固定,永遠不會被隔離。
  • 平行化合併:合併佇列會同時測試彼此不重疊的變更,而不是一次一個,這讓主分支保持穩定,又不必把每個 PR 序列化。

情境

  • 每天累積的 PR 待辦量:當數十個提取請求堆疊起來、前端變更卡在後端工作後面時,平行合併佇列能避免吞吐量崩掉。
  • 沒有明確原因就失敗的 CI 工作:分支感知的不穩定測試偵測,能幫你在開始除錯前分辨真正的回歸與已知雜訊。
  • 用 AI 程式助理擴充規模:產生大量 PR 的團隊用 Trunk 吸收助理壓在同一條合併佇列與測試套件上的額外負載。

主要功能

不穩定測試偵測

Trunk 透過分支感知分析偵測不穩定測試,把主分支、提取請求與合併佇列分別對待。它用堆疊追蹤嵌入標記失敗模式,並顯示這些差異以便快速分類。這樣你就能看出失敗是來自你的變更,還是來自一個本來就不可靠的測試。你這邊不需要改任何程式碼。

自動隔離

一旦測試被標記,Trunk 就會隔離它:被隔離的測試若失敗,CI 仍會通過,這能阻止已知雜訊阻擋流程。這正是重點。你可以把關鍵業務測試固定為永不隔離,讓它們永遠執行、永遠計入。這套流程會出現在 PR 留言中,顯示什麼失敗了、為什麼,以及那是你的程式碼還是已知問題。

平行合併佇列

Trunk 的合併佇列採用基於圖形的平行軌道,同時測試彼此不重疊的變更,同時仍保證主分支穩定。這移除了單一佇列的瓶頸,讓每個 PR 都要排隊等。不必再排隊。Slack 通知與平行度控制讓團隊調整變更合併的積極程度。

適用任何 CI 設定

這套平台與供應商無關:支援任何程式語言、任何測試執行器與任何 CI 供應商,並透過合併佇列與 PR 整合與 GitHub 搭配運作。團隊不必把流程搬到新系統就能採用 Trunk,這讓轉換的風險保持很低。

AI 輔助修復

Trunk 正透過 MCP 整合打造 AI 驅動的測試修復,連接 Claude Code、Codex 與 Cursor 等工具。Trunk 提供失敗資料與 CI 脈絡,助理則反覆調整實際修復。設計夥伴計畫中的團隊已在用它來偵測不穩定、找出根本原因,並在極少人工介入下提交修復。

程式碼品質工具

除了 CI,Trunk 還包含一套程式碼品質產品,附有 CLI 與 VS Code 擴充功能。它在 GitHub 提取請求上加上行內標註,讓 lint 與格式問題出現在開發者本來就會審查程式碼的地方,而不是另一份報告裡。

團隊管理與安全性

Team 方案移除了提交者上限並加上導入支援,Enterprise 則加上 SSO、地端部署、管理工具與自訂帳單。資料在傳輸與靜態時都加密,具備 SOC 2 Type 2 合規與美國資料落地選項。

優缺點

優點

  • 支援任何程式語言、測試執行器與 CI 供應商,所以採用時不必改寫流程。
  • 不穩定測試與合併佇列兩個產品可以分開試用,讓團隊從更痛的問題開始。
  • 被隔離的測試讓 CI 保持順暢又不隱藏失敗,而且 PR 留言會逐一說明。
  • 對最多五位提交者的團隊提供真正的免費方案,評估時沒有前期成本。
  • Enterprise 選項涵蓋 SSO、地端部署與美國資料落地,適合受監管的團隊。

缺點

  • 價格按提交者計算並隨團隊規模增加,所以大型工程組織付的錢明顯比小型團隊多。
  • 沒有行動應用程式或面向消費者的產品,這意味著對還沒在用 CI 的人來說毫無用處。
  • 一些最有趣的自動化,例如 AI 驅動的測試修復,仍處於設計夥伴計畫,而非全面推出。

常見問題

Trunk 是一套 CI 可靠性平台,解決兩個問題:因與你的程式碼無關的原因而失敗的不穩定測試,以及一次只處理一個提取請求的合併佇列。它偵測並隔離不可靠的測試,並運作一條平行合併佇列來維持主分支穩定。