피드로 돌아가기
MacOS Workers, or how I built my own Mac cloud
Dev.toDev.to
Infrastructure

Tart 기반 Ephemeral macOS CI 구축을 통한 빌드 일관성 확보

MacOS Workers, or how I built my own Mac cloud

Khachatur Ashotyan2026년 5월 22일16advanced

Context

macOS 빌드 환경의 특수성으로 인한 Linux 대비 높은 구축 난이도와 물리 장비 의존성 발생. EC2 Mac의 24시간 최소 할당 제약과 고비용 구조로 인해 고빈도 Ephemeral Worker 운영에 한계 노출.

Technical Solution

  • Apple Virtualization.framework 기반의 Tart 도입을 통한 Apple Silicon 최적화 가상화 구현
  • Orchard 컨트롤러를 활용한 Tart 호스트 풀링 및 효율적인 VM 오케스트레이션 체계 구축
  • Packer Tart 플러그인 기반의 이미지 베이킹으로 빌드 간 Byte-identical 상태 보장 및 상태 오염 제거
  • Cirrus CLI를 통한 로컬-CI 환경 동일화로 .cirrus.yml 설정 기반의 디버깅 시간 단축
  • 60~80GB 규모의 대형 Xcode 이미지 특성을 고려한 캐싱 전략 적용으로 콜드 스토리지 부팅 병목 해결
  • Vault 연동 및 시크릿 관리를 통한 Apple Developer ID 및 Keychain의 Ephemeral 환경 내 인증 프로세스 자동화

- 고빈도 macOS CI 필요 시 EC2 Mac의 24시간 최소 결제 제약 사항 사전 검토 - Virtualization.framework 기반 도구(Tart 등)를 통한 Apple Silicon 환경 가상화 효율성 확인 - 대규모 macOS 이미지(60GB+) 처리 시 네트워크 및 스토리지 I/O 병목 해소를 위한 캐싱 전략 수립 - 로컬 재현 가능성 확보를 위해 CI 설정 파일(.yml)과 로컬 실행 환경의 일치 여부 검증

원문 읽기