← 中文资源

简体中文版本

在 CI 与开发者间共享 Turborepo 缓存

配置远端缓存、精确声明任务输入输出,使任何机器上已运行过的任务不再重复。

阅读英文原文

概述

缓存仅在本地时,每位开发者与每个 CI 任务都重复同样的构建与测试。启用远端缓存后,一次运行过的任务可在任何机器命中,前提是任务输入输出声明准确,否则会误命中或从不命中。

关键步骤

  1. 连接仓库到远端缓存并在 CI 中认证。
  2. 在 turbo.json 中声明每个任务的输入与输出。
  3. 验证 CI 中运行过的任务对无改动的开发者命中缓存。
  4. 避免把密钥写入缓存产物,必要时排除环境文件。

验证

  • 跨机器的缓存可命中。
  • 重复任务不再执行。
  • 输入变化时缓存失效。
  • 缓存产物中不含密钥。

注意事项

  • 远端缓存会上传产物到共享存储,必须做访问控制。
  • 输入声明错误会导致漏命中或陈旧产物,需谨慎维护。

适用范围

本条目围绕「在 CI 与开发者间共享 Turborepo 缓存」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

{
  "pipeline": {
    "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
    "test": { "dependsOn": ["build"], "inputs": ["src/**", "test/**"] }
  }
}