儲存庫
文件
CircleCI

將 Turborepo 與 CircleCI 搭配使用

以下範例說明如何將 Turborepo 與 CircleCI(在新分頁中開啟) 搭配使用。

對於給定的根 package.json

{
  "name": "my-turborepo",
  "scripts": {
    "build": "turbo run build",
    "test": "turbo run test"
  },
  "devDependencies": {
    "turbo": "1.2.5"
  }
}

turbo.json

{
  "$schema": "https://turbo.dev.org.tw/schema.json",
  "pipeline": {
    "build": {
      "outputs": [".next/**", "!.next/cache/**"],
      "dependsOn": ["^build"]
    },
    "test": {
      "dependsOn": ["^build"]
    },
  }
}

在您的儲存庫中建立一個名為 .circleci/config.yml 的檔案,其中包含以下內容

version: 2.1
orbs:
  node: circleci/node@5.0.2
workflows:
  test:
    jobs:
      - test
jobs:
  test:
    docker:
      - image: cimg/node:lts
    steps:
      - checkout
      - node/install-packages
      - run:
        command: npm run build
      - run:
        command: npm run test

遠端快取

要使用 CircleCI 的遠端快取,請將以下環境變數新增到 CircleCI 專案,讓它們可用於 turbo 指令。

  • TURBO_TOKEN - 存取遠端快取的 Bearer 令牌
  • TURBO_TEAM - 儲存庫所屬的帳戶

要使用 Vercel 遠端快取,你可以透過幾個步驟取得這些變數的值

  1. Vercel 控制台(在新分頁開啟) 中為你的帳戶建立範圍存取令牌。

Vercel Access Tokens

將值複製到安全的地方。你稍後會需要它。

  1. 前往你的 CircleCI 專案設定並按一下環境變數分頁。建立一個名為 TURBO_TOKEN 的新機密,並輸入範圍存取令牌的值。

CircleCI Environment Variables CircleCI Create Environment Variables

  1. 建立第二個名為 TURBO_TEAM 的機密,並輸入團隊 Vercel URL 的值,不含 vercel.com/。團隊 URL 可在控制台中團隊的「一般專案設定」中找到。

    如果你使用的是 Hobby 方案,你可以使用你的使用者名稱。使用者名稱可以在 Vercel 個人帳戶設定(在新分頁開啟) 中找到。

Vercel Account Slug

  1. CircleCI 會自動將儲存在專案設定中的環境變數載入 CI 環境。CI 檔案不需要任何修改。