2026년 기업 Mac CI: Xcode 26 Compilation Cache, DerivedData, gRPC 원격 캐시, NVMe

Xcode 26 CI에서는 Compilation Cache(컴파일 단위 원격)와 DerivedData 트리 공유·워밍이 동시에 논의됩니다. 전자는 gRPC·스탬핑·네임스페이스가 품질을 가르고, 후자는 동시 Job의 디스크 경합·손상 캐시 확산이 리스크입니다. 워커·시뮬레이터·디스크 워터마크를 맞추려면 2026년 기업 Mac CI: Xcode 병렬 테스트와 Test Plan 샤딩 — 시뮬레이터 경합 방지(고메모리 노드, worker 수와 디스크 워터마크 비교 FAQ)를 함께 보고, 본·게이트웨이와 무거운 xcodebuild를 나누는 분리 전략은 2026년 OpenClaw를 Apple Silicon macOS 본기에 상주: … 고사양 원격 Mac Xcode 분리 흐름과 비교해 설계하면 혼선이 줄어듭니다.

1. Compilation Cache vs DerivedData: 역할을 어떻게 나눌까

Compilation Cache는 원격 적재·조회에 가깝고, DerivedData는 인덱스·모듈·중간 산출이 섞인 로컬 작업 공간입니다. 둘을 원격 적중 + 잡별 DerivedData로 겹쳐 두는 경우가 많습니다. 툴체인·플래그·사내 SDK 변경은 키를 흔들리니 무효화 트리거를 런북에 적어두세요.

한 줄: 원격은 “컴파일 재사용”, 로컬은 “해석·링크·테스트의 작업 공간”으로 나누는 편이 병렬에서 안전합니다.

2. 다중 Job과 gRPC 원격 캐시: 지연·TLS·스탬프

병렬이 올라가면 서버는 동시 스트림·소량 다발 객체를 견뎌야 합니다. 러너와 리전이 어긋나면 RTT가 이득을 잡아먹고, TLS·압축도 CPU를 씁니다. 스탬프에 툴체인·플래그·헤더 경로를 넣고, 흔들리는 전처리 입력은 네임스페이스로 격리하세요. 장애 시 서킷 브레이커로 원격을 끄고 로컬 폴백할 수 있어야 P95가 안정됩니다.

3. NVMe 확장: 로컬 레인 vs 공유 스토어

러너마다 로컬 NVMe에 DerivedData·모듈 캐시를 두면 IOPS 예측이 쉽고, 공유 NAS는 메타데이터 지연 병목이 잦습니다. 원격 캐시 사용 시 다운로드 대역디스크 워터마크를 한 대시보드에 올려 교차 고갈을 막으세요. 확장은 동시 잡 × 피크 쓰기로 잡습니다.

  • 적중률·여유 공간·gRPC P95를 함께 봅니다.
  • 큐를 늘리기 전 I/O 대기와 CPU를 분리 측정합니다.
  • 정리 스크립트는 멱등·보존 목록을 명시합니다.

4. 적중률·무효화 선정 FAQ

  • 적중이 갑자기 떨어졌다면? Xcode 마이너 업데이트, 모듈 맵, 사내 SDK 버전, 컴파일러 플래그 변경을 먼저 확인합니다.
  • DerivedData를 완전히 공유해도 되나요? 소수의 읽기 전용 워밍에는 통하지만, 다중 쓰기에는 샌드박스 경로를 권장합니다.
  • 원격 캐시 장애 시? 로컬 폴백과 큐 길이 상한을 런북에 적어 무한 대기를 막습니다.
  • 무효화는 얼마나 자주? 릴리스 채널별로 층을 나누고, nightly는 공격적으로, 릴리스는 보수적으로 두는 식의 이중 정책이 흔합니다.

CI 캐시를 Mac mini·macOS에 얹을 때의 이점

Apple Silicon Mac mini는 통합 메모리·빠른 SSD로 동시 컴파일·모듈 캐시에 유리하고, 유휴 전력이 낮아(M4급 약 4W) 상시 풀에도 부담이 적습니다. macOS는 노트북과 동일 툴체인·서명을 재현하기 쉬워 Gatekeeper·SIP·FileVault 정책을 단순화하고, 장기 총소유비용과 소음에서도 유리한 경우가 많습니다.

캐시·NVMe·병렬 정책을 먼저 고정한 뒤 노드를 늘리면 확장이 예측 가능합니다. 전용 하드웨어는 Macstripe 홈에서 비교하세요. Mac mini M4로 이 런북을 옮기면 gRPC 적중과 로컬 I/O가 균형을 찾기 쉽습니다. 지금 구성을 맞추면 본문 전략이 체감 속도로 이어지고, 하단 카드에서 바로 다음 단계를 진행할 수 있습니다.