GitHub Actions
以下範例展示如何將 Turborepo 與 GitHub Actions 搭配使用。
針對給定的根目錄 package.json
以及 turbo.json
在您的儲存庫中建立名為 .github/workflows/ci.yml
的檔案,並包含以下內容
遠端快取
若要搭配 GitHub Actions 使用遠端快取,請將以下環境變數新增至您的 GitHub Actions 工作流程,使其可供您的 turbo
命令使用。
TURBO_TOKEN
- 用於存取遠端快取的 Bearer 權杖TURBO_TEAM
- Monorepo 所屬的帳戶
若要使用遠端快取,請為您的供應商檢索遠端快取的團隊和權杖。在此範例中,我們將使用 Vercel 遠端快取。
前往您的 GitHub 儲存庫設定,然後按一下「Secrets」(密鑰)索引標籤,再按一下「Actions」(動作)索引標籤。建立一個名為 TURBO_TOKEN
的新密鑰,並輸入您的範圍存取權杖的值。
建立一個新的儲存庫變數(按一下「Variables」(變數)索引標籤),名為 TURBO_TEAM
,並輸入您團隊的 Vercel URL 值,不包含 vercel.com/
。使用儲存庫變數而非密鑰可避免 GitHub Actions 在記錄輸出中審查您的團隊名稱。
您的團隊 URL 可以在儀表板中您團隊的一般專案設定中找到。如果您使用的是 Hobby 方案,則可以使用您的使用者名稱。您的使用者名稱可以在您的 Vercel 個人帳戶設定中找到
在您的 GitHub Actions 工作流程頂端,為使用 turbo
的作業提供以下環境變數
使用 GitHub actions/cache 進行快取
以下步驟示範如何使用 actions/cache 在 GitHub 上快取您的 monorepo artifacts。
提供一個 package.json 指令碼,該指令碼將使用 Turborepo 執行任務。
包含 build
指令碼的 package.json 範例
在您的 CI 檔案的建置步驟之前,設定您的 GitHub 管道,使其包含一個步驟來使用 actions/cache@v4
動作。
- 請確保在
actions/cache
動作中設定的path
屬性與上述輸出位置相符。在以下範例中,path
設定為.turbo
。 - 在
key
屬性下,聲明目前執行的快取金鑰。在以下範例中,我們使用 runner os 和 GitHub sha 的組合作為快取金鑰。 - 在
restore-keys
屬性下,聲明所需的快取前綴模式。請確保此模式在未來的 ci 執行中仍然有效。在以下範例中,我們使用${{ runner.os }}-turbo-
作為要搜尋的快取金鑰前綴模式。這讓我們即使github.sha
變更,也能在任何後續的 ci 執行中命中快取。
以 .turbo
作為選定快取資料夾的 ci yaml 範例