CircleCI で Turborepo を使用する
次の例では、CircleCI (新しいタブで開きます)で Turborepo を使用する方法を示します。
与えられたルートの package.json
{
"name": "my-turborepo",
"scripts": {
"build": "turbo run build",
"test": "turbo run test"
},
"devDependencies": {
"turbo": "1.2.5"
}
}
および turbo.json
{
"$schema": "https://turbo.dokyumento.jp/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
- リモートキャッシュにアクセスするためのベアラートークンTURBO_TEAM
- モノレポが属するアカウント
Vercel リモートキャッシュを使用するには、いくつかの手順でこれらの変数の値を取得できます。
- Vercel ダッシュボード (新しいタブで開きます)でアカウントへのスコープ付きアクセストークンを作成します。
値を安全な場所にコピーします。後で必要になります。
- CircleCI プロジェクトの設定に移動し、[**環境変数**] タブをクリックします。
TURBO_TOKEN
という新しいシークレットを作成し、スコープ付きアクセストークンの値を入力します。
-
TURBO_TEAM
という 2 番目のシークレットを作成し、チームの Vercel URL の値をvercel.com/
なしで入力します。チーム URL は、ダッシュボードからチームの一般プロジェクト設定内で見つけることができます。ホビープランを使用している場合は、ユーザー名を使用できます。ユーザー名は、Vercel の個人アカウント設定 (新しいタブで開きます)で確認できます。
- CircleCI は、プロジェクト設定に保存されている環境変数を CI 環境に自動的にロードします。CI ファイルの変更は必要ありません。