Skip to content

번역 🌍

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

기여

Xcode 캐시

Tuist는 빌드 시스템의 캐싱 기능을 활용하여 팀이 컴파일 아티팩트를 공유할 수 있도록 Xcode 컴파일 캐시를 지원합니다.

설정

경고 요구 사항 ::: warning 요구 사항

:::

아직 Tuist 계정과 프로젝트가 없는 경우, 실행하여 만들 수 있습니다:

bash
tuist init

fullHandle 을 참조하는 Tuist.swift 파일이 있으면 이를 실행하여 프로젝트의 캐싱을 설정할 수 있습니다:

bash
tuist setup cache

이 명령은 시작 시 로컬 캐시 서비스를 실행하여 Swift 빌드 시스템이 컴파일 아티팩트를 공유하는 데 사용하는 LaunchAgent을 생성합니다. 이 명령은 로컬 환경과 CI 환경 모두에서 한 번씩 실행해야 합니다.

CI에서 캐시를 설정하려면

인증

상태인지 확인하세요.

Xcode 빌드 설정 구성

Xcode 프로젝트에 다음 빌드 설정을 추가합니다:

COMPILATION_CACHE_ENABLE_CACHING = YES
COMPILATION_CACHE_REMOTE_SERVICE_PATH = $HOME/.local/state/tuist/your_org_your_project.sock
COMPILATION_CACHE_ENABLE_PLUGIN = YES
COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS = YES

컴파일 캐시 원격 서비스 경로컴파일 캐시 활성화 플러그인 은 Xcode의 빌드 설정 UI에 직접 노출되지 않으므로 사용자 정의 빌드 설정 으로 추가해야 합니다:

소켓 경로

소켓 경로는 tuist 설정 캐시 를 실행할 때 표시됩니다. 프로젝트의 전체 핸들을 기반으로 하며 슬래시가 밑줄로 대체됩니다.

xcodebuild 을 실행할 때 다음과 같은 플래그를 추가하여 이러한 설정을 지정할 수도 있습니다:

xcodebuild build -project YourProject.xcodeproj -scheme YourScheme \
    COMPILATION_CACHE_ENABLE_CACHING=YES \
    COMPILATION_CACHE_REMOTE_SERVICE_PATH=$HOME/.local/state/tuist/your_org_your_project.sock \
    COMPILATION_CACHE_ENABLE_PLUGIN=YES \
    COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS=YES

생성된 프로젝트

Tuist에서 프로젝트를 생성한 경우 수동으로 설정을 지정할 필요가 없습니다.

이 경우 Tuist.swift 파일에 enableCaching: true 을 추가하기만 하면 됩니다:

swift
import ProjectDescription

let tuist = Tuist(
    fullHandle: "your-org/your-project",
    project: .tuist(
        generationOptions: .options(
            enableCaching: true
        )
    )
)

지속적 통합

CI 환경에서 캐싱을 활성화하려면 로컬 환경과 동일한 명령을 실행해야 합니다: tuist setup cache.

또한 TUIST_CONFIG_TOKEN 환경 변수가 설정되어 있는지 확인해야 합니다. 환경 변수는

here

문서를 참조하여 생성할 수 있습니다. TUIST_CONFIG_TOKEN 환경 변수 는 빌드 단계에 반드시 존재해야 하지만 전체 CI 워크플로에 설정하는 것이 좋습니다.

그러면 GitHub 액션의 워크플로 예시는 다음과 같습니다:

yaml
name: Build

env:
  TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}

jobs:
  build:
    steps:
      - # Your set up steps...
      - name: Set up Tuist Cache
        run: tuist setup cache
      - # Your build steps

Released under the MIT License.