Xcode 캐시
Tuist는 빌드 시스템의 캐싱 기능을 활용하여 팀이 컴파일 아티팩트를 공유할 수 있도록 Xcode 컴파일 캐시를 지원합니다.
설정
경고 요구 사항 ::: warning 요구 사항
- Tuist 계정 및 프로젝트
- Xcode 26.0 이상
:::
아직 Tuist 계정과 프로젝트가 없는 경우, 실행하여 만들 수 있습니다:
bash
tuist initfullHandle 을 참조하는 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 환경 변수가 설정되어 있는지 확인해야 합니다. 환경 변수는
문서를 참조하여 생성할 수 있습니다. 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