推出 Vercel CI
Introducing Vercel CI
Vercel CI 只執行受影響的任務,縮短 2-6 倍 CI 時間,讓開發者可更快迭代,並在 GitHub PR 上直接顯示檢查結果,方便快速修復 - 核心特性:依賴 Turborepo 解析任務依賴,只執行改動相關的測試;自動使用遠端快取。
Vercel CI 只執行受影響的任務,縮短 2-6 倍 CI 時間,讓開發者可更快迭代,並在 GitHub PR 上直接顯示檢查結果,方便快速修復
程式碼代理正在比以往任何時候都開啟更多的 Pull Request,每一個都必須等待 CI 完成,才可供審查或合併。大多數 CI 系統在每次 push 時都會執行整個工作流程,即使只是一次一行程式碼的變更。代理推送的越多,你在 CI 上等待的時間就越長。
今天,我們宣佈 Vercel CI 進入 Beta。它只執行受程式碼變更影響的任務,並只啟動執行這些檢查所需的計算資源,就像 Fluid compute 隨流量擴充套件一樣。
在 Vercel,我們的 CI 現在能跟上程式碼代理的節奏。從 git push 到「CI 通過」的時間比以前快 2-6 倍。
工作原理
Vercel CI 使用 Turborepo 來理解你的任務及其相互依賴。它會讀取 turbo.json,因此如果你已經在使用 Turborepo,就不需要額外撰寫 CI 設定。
如果你還沒使用 Turborepo,請加入 turbo.json 與 turbo 套件。它同樣適用於單一套件的倉庫。
接著標記你想讓 Vercel CI 執行的任務。
"tags": ["ci"] 就是你開始所需的一切。無需維護 workflow YAML,CI 設定與 turbo.json 之間不會漂移,且 Remote Cache 預設已啟用。
當你或你的代理推送程式碼時,Vercel CI 會根據變更決定哪些任務需要執行。輸入未改變的任務會從快取中取得。其餘任務則各自於自己的機器上執行,使用 Hive(Vercel 的計算層),並在其相依任務完成後立即啟動。
Vercel CI 為每個任務提供其所需的計算資源,且不多不少。
在 Vercel 上執行你的 CI
要開始,請參閱 檔案 或從倉庫中啟動你的代理:
設定完成後,你或你的代理可以透過 Vercel 儀錶板、Vercel CLI 或 Vercel MCP 觀看並檢查 CI。若有失敗,直接前往失敗的任務,檢視其後方被阻塞的內容,並開啟其日誌,或搜尋近期執行紀錄以確認某個測試是否整週都不穩定。
Vercel CI 會將檢查結果釋出到 GitHub 的 Pull Request,讓你現有的分支保護規則在失敗時阻止合併,與現在的行為相同。
完成閉環
Vercel CI 已在我們自己的倉庫和私人 Beta 中完成近 800 萬個任務,且我們才剛剛起步。我們正努力縮短從編寫程式碼到在生產環境執行的時間。
隨著我們朝正式上線邁進,我們計畫新增:
進階可觀測性
一個
vc ciCLI 指令,用於在推送程式碼前進行分散式執行更細緻的測試選擇
Vercel CI 於今日在所有方案中以 Beta 方式提供。閱讀檔案並在你的倉庫中試用。