Bazel 캐시
Tuist는 Bazel이 원격 캐시로 연결하는 Remote Execution API 캐시를 노출합니다. 액션의 출력이 이미 캐시에 있으면 Bazel은 해당 액션을 건너뛰고 Tuist의 캐시에서 결과를 가져와 팀과 CI 환경 전반의 컴파일 시간을 절약합니다.
설정#
Bazel 워크스페이스 루트에서 다음을 실행하세요:
tuist bazel setup
이 명령은 .bazelrc.tuist 파일을 .bazelrc 옆에 생성하며, 가장 가까운 Tuist 캐시 리전에 연결되고 워크스페이스별 자격 증명 헬퍼를 통해 인증됩니다. 또한 저장소의 .bazelrc에 try-import 줄을 추가합니다:
try-import %workspace%/.bazelrc.tuist
가져오기를 직접 관리하려면 --no-add-bazelrc-import를 전달하세요.
.bazelrc.tuist를 .gitignore에 추가하고 커밋하지 말고 각 머신에서 설정을 실행하세요. 생성된 파일은 현재 사용자의 Tuist 구성 디렉터리 아래 절대 자격 증명 헬퍼 경로와 파일을 생성한 머신에 가장 가까운 캐시 리전을 가리키므로, 두 값 모두 동료나 CI 러너로 이전되지 않습니다. 모든 머신에서 동일한 .bazelrc의 try-import 줄을 커밋하세요.
설정은 Bazel 워크스페이스 마커를 찾을 수 없거나, 파일이 심볼릭 링크이거나, 이미 원격 캐시 또는 Build Event Service가 구성된 경우 기존 .bazelrc를 그대로 둡니다. 따라서 다시 실행해도 멱등성이 유지됩니다.
통합을 확인하려면 일반 Bazel 명령을 실행하세요:
bazel build //...
캐시 활동은 Tuist 대시보드의 프로젝트 Bazel Cache 페이지에 나타나며, 캐시 전송, 다운로드 및 업로드, 읽기 및 쓰기 지연 시간, 처리량, 액션 캐시 히트율을 보여줍니다. 프로젝트 Overview에는 빌드 지속 시간과 함께 동일한 액션 캐시 히트율 요약이 표시됩니다.
명령이 캐시를 어떻게 사용했는지 확인하려면 Invocations에서 열어보세요. 호출 페이지는 액션 캐시 조회와 콘텐츠 객체 요청을 분리하여 표시하므로, 콜드 액션 캐시와 느린 아티팩트 다운로드를 구분할 수 있습니다.
빌드 인사이트#
기본적으로 tuist bazel setup는 Bazel의 Build Event Service도 구성하여 완료된 명령이 Invocations 대시보드에 나타나도록 합니다. 대시보드에 표시되는 내용과 사용자 정의 메타데이터를 첨부하는 방법은 Bazel 빌드 인사이트를 참조하세요.
원격 캐시만 사용하고 빌드 이벤트 스트림을 보내지 않으려면 다음 옵션으로 제외하세요:
tuist bazel setup --no-build-insights
지속적 통합#
인증 가이드의 방법 중 하나로 CI를 인증한 후, 체크아웃 단계의 일부로 tuist bazel setup를 한 번 실행하여 .bazelrc.tuist가 러너에 적합한 리전을 반영하도록 하세요. 제공업체별 예제는 지속적 통합 가이드를 참조하세요.
데이터 보존#
Tuist는 원격 캐시 관찰 데이터를 90일 동안 보관합니다. 전체 정책은 데이터 보존을 참조하세요.