在 GitHub Actions 上集成
以下示例展示了如何将 Turborepo 与 GitHub Actions 一起使用。
对于给定的根 package.json
:
以及一个 turbo.json
:


在你的仓库中创建一个名为 .github/workflows/ci.yml
的文件,内容如下:
远程缓存
要在 GitHub Actions 中使用远程缓存,请将以下环境变量添加到你的 GitHub Actions 工作流中,
使它们可用于你的 turbo
命令。
TURBO_TOKEN
- 访问远程缓存的 Bearer 令牌TURBO_TEAM
- 单体仓库所属的账户
要使用远程缓存,请获取你的提供商的远程缓存的团队和令牌。在此示例中,我们将使用 Vercel 远程缓存。
转到你的 GitHub 仓库设置,点击 Secrets 然后点击 Actions 标签。创建一个名为 TURBO_TOKEN
的新密钥,并输入你的范围访问令牌的值。
创建一个名为 TURBO_TEAM
的新仓库变量(点击 Variables 标签),并输入你的团队的 Vercel URL 值,不带 vercel.com/
。
使用仓库变量而不是密钥将防止 GitHub Actions 在日志输出中审查你的团队名称。
你可以在控制面板的团队通用项目设置中找到你的团队 URL。如果你使用的是业余计划,可以使用你的用户名。你可以在 Vercel 个人账户设置 中找到你的用户名
在你的 GitHub Actions 工作流的顶部,为使用 turbo
的作业提供以下环境变量:
使用 GitHub actions/cache 进行缓存
以下步骤示范了如何使用 actions/cache 在 GitHub 上缓存你的单体仓库构建产物。
提供一个使用 Turborepo 运行任务的 package.json 脚本。
带有 build
脚本的 package.json
示例:
在你的 CI 文件的构建步骤之前,配置你的 GitHub 流水线,使用 actions/cache@v4
动作。
- 确保在
actions/cache
动作中设置的path
属性与上面的输出位置匹配。在下面的示例中,path
被设置为.turbo
。 - 在
key
属性下声明当前运行的缓存键。在下面的示例中,我们使用了运行器操作系统和 GitHub sha 的组合作为缓存键。 - 在
restore-keys
属性下声明所需的缓存前缀模式。确保此模式对未来的 CI 运行保持有效。在下面的示例中,我们使用${{ runner.os }}-turbo-
作为要搜索的缓存键前缀。这允许我们在任何后续的 CI 运行中命中缓存,尽管github.sha
会发生变化。
选择 .turbo
作为缓存文件夹的 ci
yaml 示例: