Travis CI

다음 예제는 Turborepo를 Travis CI와 함께 사용하는 방법을 보여줍니다.

주어진 루트 package.json의 경우:

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

And a turbo.json:

Turborepo logo
./turbo.json
{
  "$schema": "https://turborepo.com/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

자세한 내용은 Travis CI 통합에 대한 pnpm 문서 섹션을 여기에서 확인하세요.

Remote Caching

Remote Caching을 사용하려면 제공자의 Remote Cache에 대한 팀과 토큰을 검색합니다. 이 예제에서는 Vercel Remote Cache를 사용합니다:

  • TURBO_TOKEN - Remote Cache에 액세스하기 위한 Bearer 토큰
  • TURBO_TEAM - 아티팩트를 공유할 Vercel 팀의 슬러그

Vercel Remote Caching을 사용하려면 몇 가지 단계로 이러한 변수의 값을 얻을 수 있습니다:

  1. Vercel Dashboard에서 계정에 대한 Scoped Access Token을 생성합니다.

Vercel Access Tokens

값을 안전한 곳에 복사하세요. 잠시 후에 필요합니다.

  1. Travis 저장소 설정으로 이동하여 Environment Variables 섹션까지 스크롤합니다. TURBO_TOKEN이라는 새 변수를 생성하고 Scoped Access Token의 값을 입력합니다.

Travis CI Variables

  1. TURBO_TEAM이라는 두 번째 비밀을 만들고 팀 URL에서 vercel.com/ 뒤의 부분인 팀 슬러그로 설정합니다. 예를 들어, vercel.com/acme의 슬러그는 acme입니다.

  2. Travis CI는 프로젝트 설정에 저장된 환경 변수를 CI 환경으로 자동으로 로드합니다. CI 파일에 대한 수정은 필요하지 않습니다.