GitHub Actions
以下示例展示了如何在 GitHub Actions 中使用 Turborepo。
对于给定的根目录 package.json
以及 turbo.json


在您的仓库中创建一个名为 .github/workflows/ci.yml 的文件,并添加以下内容
使用 Vercel 远程缓存进行远程缓存
要使用 GitHub Actions 进行远程缓存,请在您的 GitHub Actions 工作流中添加以下环境变量,以便您的 turbo 命令可以使用它们。
TURBO_TOKEN- 用于访问远程缓存的 Bearer 令牌TURBO_TEAM- 与其共享构件的 Vercel 团队的 slug
要使用远程缓存,请检索您的提供商的远程缓存的团队和令牌。在此示例中,我们将使用 Vercel 远程缓存。
转到您的 GitHub 仓库设置,然后点击 Secrets (密钥) 再点击 Actions (操作) 选项卡。创建一个名为 TURBO_TOKEN 的新密钥,然后输入您的作用域访问令牌的值。

创建一个新的仓库变量 (点击 Variables (变量) 选项卡),名为 TURBO_TEAM,并将其设置为您的团队 slug - 即 您的团队 URL 中 vercel.com/ 后面的部分。例如,vercel.com/acme 的 slug 是 acme。
须知:
使用仓库变量而不是密钥可以防止 GitHub Actions 在日志输出中审查您的团队名称。

在您的 GitHub Actions 工作流的顶部,为使用 turbo 的作业提供以下环境变量
在可重用的工作流中使用远程缓存
有关将密钥传递给可重用工作流的信息,请参阅 GitHub 关于将密钥传递给嵌套工作流的文档。
使用 GitHub actions/cache 进行远程缓存
以下步骤展示了如何使用 actions/cache 在 GitHub 上缓存您的 monorepo 构件。
提供一个将使用 Turborepo 运行任务的 package.json 脚本。
带有 build 脚本的示例 package.json
在 CI 文件的构建步骤之前,使用 actions/cache@v4 操作配置您的 GitHub 流水线,使其包含一个步骤。
- 确保
actions/cache操作中设置的path属性与上面输出的位置匹配。在下面的示例中,path被设置为.turbo。 - 在
key属性下为当前运行指定缓存键。在下面的示例中,我们使用了运行器操作系统和 GitHub sha 的组合作为缓存键。 - 在
restore-keys属性下指定所需的缓存前缀模式。确保此模式在未来的 CI 运行中保持有效。在下面的示例中,我们使用了${{ runner.os }}-turbo-作为缓存键前缀模式进行搜索。这使得我们可以在后续的 CI 运行中命中缓存,即使github.sha发生变化。
选择 .turbo 作为缓存文件夹的示例 ci yaml
