Skip to content

번역

이 페이지를 번역하거나 기존 번역을 개선할 수 있습니다.

기여

Continuous Integration (CI)

Tuist를 CI(Continuous Integration) 환경에서 사용할 수 있습니다. 다음 섹션에서는 다양한 CI 플랫폼에서 이를 수행하는 방법에 대한 예시를 제공합니다.

Examples

CI 워크플로우에서 Tuist 명령어를 실행하려면, CI 환경에 Tuist를 설치해야 합니다.

Xcode Cloud

Xcode Cloud에서는 Xcode 프로젝트를 진실 공급원(source of truth)으로 사용하기 때문에, post-clone 스크립트를 추가하여 Tuist를 설치하고 필요한 명령어를 실행해야 합니다. 예를 들어 tuist generate 명령어를 실행합니다:

bash
#!/bin/sh
curl https://mise.jdx.dev/install.sh | sh
mise install # Installs the version from .mise.toml

.mise.toml 파일에 명시된 버전의 Tuist 실행 {#runs-the-version-of-tuist-indicated-in-the-misetoml-file}
mise x tuist generate
bash
#!/bin/sh
brew install --formula [email protected]

tuist generate

Codemagic

Codemagic에서 워크플로우에 Tuist를 설치하는 추가 단계를 다음과 같이 추가할 수 있습니다:

yaml
workflows:
  lint:
    name: Build
    max_build_duration: 30
    environment:
      xcode: 15.0.1
    scripts:
      - name: Install Mise
        script: |
          curl https://mise.jdx.dev/install.sh | sh
          mise install # Installs the version from .mise.toml
      - name: Build
        script: mise x tuist build
yaml
workflows:
  lint:
    name: Build
    max_build_duration: 30
    environment:
      xcode: 15.0.1
    scripts:
      - name: Install Tuist
        script: |
          brew install --formula [email protected]
      - name: Build
        script: tuist build

GitHub Actions

GitHub Actions에서 Tuist를 설치하기 위한 단계를 추가할 수 있으며, Mise를 설치하고 관리하려면 Mise와 Tuist의 설치 과정을 추상화한 mise-action을 사용할 수 있습니다.

yaml
name: Build Application
on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main
jobs:
  build:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v3
      - uses: jdx/mise-action@v2
      - run: tuist build
yaml
name: test
on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main
jobs:
  lint:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v3
      - run: brew install --formula [email protected]
      - run: tuist build

TIP

Tuist 프로젝트에서 환경 간 Tuist 버전을 고정하려면 mise use -pin 명령어를 사용하는 것을 권장합니다. 이 명령어는 Tuist의 버전을 포함하는 .tool-version 파일을 생성합니다.

인증

cache와 같은 server-side 기능을 사용할 때, CI 워크플로우에서 서버로 가는 요청을 인증할 방법이 필요합니다. 이를 위해, 다음 명령어를 실행하여 프로젝트 범위의 토큰을 생성할 수 있습니다.
bash
tuist project tokens create my-handle/MyApp

이 명령어는 my-account/my-project라는 전체 핸들을 가진 프로젝트에 대한 토큰을 생성합니다. 해당 값을 CI 환경의 TUIST_CONFIG_TOKEN 환경 변수로 설정하고, secret으로 설정하여 노출되지 않도록 합니다.

CI 환경 감지

Tuist는 CI 환경에서 실행 중임을 감지할 때만 토큰을 사용합니다. CI 환경이 감지되지 않는 경우, 환경 변수 CI1로 설정하여 토큰 사용을 강제할 수 있습니다.

Released under the MIT License.