DevOps / CI·CD 2026년 4월 11일

임대 클라우드 Mac에서 Xcode SwiftPM 레지스트리·resolve·CI 캐시(2026)

MacXCode Engineering Team · 약 16분

싱가포르·일본·한국·홍콩·미동부Apple Silicon 빌드 호스트에서 실패는 종종 컴파일러가 아니라의존성 가져오기입니다. SwiftPM vs CocoaPods, 병렬 xcodebuild, 셀프호스트 Runner와 함께 읽으세요.

리전이 resolve에 미치는 영향

  • 이그레스 경로와 IP 허용이 지역마다 다릅니다.
  • Git LFS·바이너리 산출물은 RTT에 민감합니다.
  • 다중 테넌트는 전역 SPM 캐시 공유를 피하세요.
원칙: 릴리스 브랜치는 Package.resolved 커밋, main은 읽기 전용 resolve.

헤드리스 인증

CI 시크릿 → ~/.netrc, 권한 600, 작업 후 삭제.

잠금 정책

브랜치정책CI
main잠금 필수그래프 변경 시 실패
피처봇 업데이트PR로 잠금 갱신
라이브러리선택임시 잠금 생성

경로

경로역할메모
SourcePackages소스작업별 분리
DerivedData인덱스병렬 한도
글로벌 SPM다운로드읽기 전용 워밍

CI 단계

swift package resolve원격 Archive와 동일 사용자에서 서명·resolve 정렬.

리전 매트릭스

관점측정완화
RTTTTFB미러
GitHub429백오프
디스크fs_usage별 볼륨

FAQ

질문
캐시 끄기?손상 조사 시에만.
Xcode Cloud?비교 글 참고.
결정성CI에서 Package.resolved 체크섬 검증.

Mac mini M4

빠른 NVMe와 통합 메모리가 resolve·컴파일 모두에 유리합니다. 요금, 도움말.

전용 Apple Silicon CI

HK · JP · KR · SG · US