Travis CI

以下示例展示了如何将 Turborepo 与 Travis CI 结合使用。

对于给定的根 package.json

./package.json
{
  "name": "my-turborepo",
  "scripts": {
    "build": "turbo run build",
    "test": "turbo run test"
  },
  "devDependencies": {
    "turbo": "latest"
  }
}

以及 turbo.json

Turborepo logo
./turbo.json
{
  "$schema": "https://turbo.net.cn/schema.json",
  "tasks": {
    "build": {
      "outputs": [".svelte-kit/**"],
      "dependsOn": ["^build"]
    },
    "test": {
      "dependsOn": ["^build"]
    }
  }
}

在你的仓库中创建一个名为 .travis.yml 的文件,内容如下

.travis.yml
language: node_js
node_js:
  - lts/*
cache:
  npm: false
  directories:
    - "~/.pnpm-store"
before_install:
  - curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6.32.2
  - pnpm config set store-dir ~/.pnpm-store
install:
  - pnpm install
script:
  - pnpm build
script:
  - pnpm test

有关更多信息,请访问 pnpm 文档中关于 Travis CI 集成的部分,此处查看

远程缓存

要使用远程缓存,请检索你的提供商的远程缓存的团队和令牌。在此示例中,我们将使用 Vercel 远程缓存

  • TURBO_TOKEN - 用于访问远程缓存的 Bearer 令牌
  • TURBO_TEAM - monorepo 所属的帐户

要使用 Vercel 远程缓存,你可以通过以下几个步骤获取这些变量的值

  1. Vercel 仪表板 中为你的帐户创建一个作用域访问令牌

Vercel Access Tokens

将该值复制到一个安全的地方。稍后你需要它。

  1. 转到你的 Travis 仓库设置,向下滚动到“环境变量”部分。创建一个名为 TURBO_TOKEN 的新变量,并输入你的作用域访问令牌的值。

Travis CI Variables

  1. 创建第二个名为 TURBO_TEAM 的密钥,并输入你的团队 URL

  2. Travis CI 会自动将存储在项目设置中的环境变量加载到 CI 环境中。CI 文件无需修改。