使用 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.rust-lang.net.cn/schema.json",
"pipeline": {
"build": {
"outputs": [".next/**", "!.next/cache/**"],
"dependsOn": ["^build"]
},
"test": {
"dependsOn": ["^build"]
},
}
}
在您的仓库中创建一个名为 .circleci/config.yml
的文件,内容如下:
version: 2.1
orbs:
node: circleci/[email protected]
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 远程缓存,您可以通过以下几个步骤获取这些变量的值
- 在 Vercel 仪表盘 (在新标签页中打开) 中为您的帐户创建一个范围访问令牌
将该值复制到安全的地方。您稍后会用到它。
- 转到您的 CircleCI 项目设置,然后单击 **环境变量** 选项卡。创建一个名为
TURBO_TOKEN
的新密钥,并输入您的范围访问令牌的值。
-
创建一个名为
TURBO_TEAM
的第二个密钥,并输入您的团队的 Vercel URL 值,不包括vercel.com/
。您可以在仪表盘中团队的常规项目设置中找到您的团队 URL。如果您使用的是免费计划,则可以使用您的用户名。您可以在您的 Vercel 个人帐户设置 (在新标签页中打开) 中找到您的用户名。
- CircleCI 会自动将存储在项目设置中的环境变量加载到 CI 环境中。CI 文件不需要进行任何修改。