Apple 실리콘에서 iOS나 Flutter를 배포한다면 Codemagic 관리형 macOS CI와 전용 원격 Mac 임대를 VPS처럼 운영할지(SSH, Xcode 고정, 에이전트, 디스크·서명 경계) 비교 중일 것입니다.독자: 플랫폼 엔지니어·모바일 리드.통증: 분 과금, 동시 실행 슬롯, 큐 의미론, 마이그레이션 리스크가 릴리스 시즌에 충돌.산출: 일곱 가지 검증 가설, 결정 매트릭스(Bitrise·Xcode Cloud 비교 글), 6단계 SSH Runbook, RFC용 지표, 대여 요금·헬프 센터 FAQ.
Codemagic은 모바일 친화 YAML, Flutter/iOS 템플릿, 가시화된 과금 분 대시보드를 묶습니다. 투명성은 가치 있지만 실제 장애는 Xcode 지문, 동시 실행 슬롯 상한, 서명 키체인, 긴 의존 그래프의 디스크 증폭에 숨기 쉽습니다. 이 층을 건너뛴 리뷰는 실행 평면이 아니라 로고 비교로 끝납니다.
관리형 CI는 「제로 운영」이 아닙니다. 클라우드 이미지는 로테이션합니다. 셀프호스트 레인도 SwiftPM·CocoaPods·DerivedData 거버넌스에 맞춘 캐시 계약이 필요합니다. 경계를 벤더 일정으로 강제할지, 새벽 2시에 빨간 Job에 SSH 가능한 하드웨어로 자사 수용 테스트로 강제할지가 쟁점입니다.
분 과금=예측 가능한 예산: 분은 병렬도·재시도로 배가됩니다. 불안정한 통합 테스트가 다섯 번 재실행되면 재무 모델보다 빨리 릴리스 주간 한도를 소진합니다. 과금 분 분산을 추적하고 월 합계만 보지 마세요.
동시 실행 슬롯은 무한해 보이다 벽에 닿습니다: 플랜 티어가 동시 macOS Job 수를 제한합니다. 피크에 Archive와 UI 테스트가 겹치면 각 Job이 빨라도 큐가 생깁니다. 금요 릴리스를 약속하기 전 최대 병렬 워크플로를 SLA에 적으세요.
셀프호스트≠분 과금 제로: 가시적 클라우드 청구를 고정 임대, 패치, 에이전트 업데이트, 디스크 정리와 맞바꾸는 경우가 많고, 마이그레이션기 이중 비용은 흔합니다.
서명은 노트북에 둬도 된다: 기업 인증서·match는 전용 CI 사용자·로테이션 Runbook에 두세요——Fastlane 헤드리스 CI·엔터프라이즈 빌드 풀 참고.
VPS형 SSH는 선택이 아닙니다: 프로덕션 모바일 CI에서는 비대화형 SSH, 절전 비활성, 명령 감사가 기선입니다——Linux VPS SSH·VNC, M 시리즈 SSH CI 대안 참고.
Mac 한 대에 모든 오케스트레이터: 경로 분리가 없으면 Codemagic 에이전트, GitHub Actions 러너, GitLab Runner가 같은 DerivedData 루트를 밟습니다.
네트워크 확인은 브라우저 HTTPS에서 멈춥니다: 빌드 에이전트는 안정적 egress·벤더 콜백이 필요합니다. TLS 검사 프록시는 워커를 「온라인」이나 굶주린 상태로 둡니다——콘솔 녹색만이 아니라 호스트 증거를 수집하세요.
운영상 두 번째 동시 실행 슬롯·두 번째 Mac을 사기 전 큐 깊이 P95, Archive 시간 분포, 주간 디스크 증분 세 지표를 공개하세요. 없으면 예쁜 UI 아래 혼란만 복제합니다. 임시 사무실 PC 대비 전용 Apple 실리콘 호스트 임대는 전력·부품·원격 핸즈가 예측 가능합니다. 의심스러운 macOS 가상화보다 물리 Mac mini는 서명·심사 리스크를 낮춥니다——차이는 채팅이 아니라 RFC에 쓰세요.
다른 컨트롤 플레인도 평가한다면 CircleCI 하이브리드·Buildkite 에이전트 탄력성을 읽고 「YAML·권한 소유자」와 「macOS CPU·NVMe 소유자」를 나누세요. Codemagic도 같은 통: 컨트롤 플레인 모바일 경험은 강하지만 실행은 Apple 하드웨어 물리에 묶입니다.
만능 승자는 없고 제약에 대한 적합만 있습니다. 본 매트릭스는 엔지니어링 리드가 재무·보안과 같은 회의에서 선택을 방어하기 위한 것입니다. 행은 벤더 관리 macOS 분, Codemagic이 자사 머신 구동, 클라우드 노드처럼 운영하는 전용 원격 Mac 용량(위에 Codemagic 등이 남는 경우가 많음)을 대비합니다.
| 차원 | Codemagic 클라우드 macOS | Codemagic + 셀프호스트 Mac | 전용 원격 Mac(노드 풀) |
|---|---|---|---|
| 비용 형태 | 과금 빌드 분 + 동시 실행 티어 | 종종 이중: 경량 Job은 클라우드 분 + 고정 임대 | 용량형: 임대, 디스크 티어, egress—VPS/노드 예산에 가깝습니다 |
| 동시 실행 모델 | 플랫폼 강제 병렬 슬롯 상한 | 머신별 정직한 CPU/IO 추정; 큐는 로컬로 | 전용 슬롯 문서화; 하이브리드 라벨로 무거운 작업 |
| 큐 리스크 | 공유 플릿 피크가 릴리스 창을 늘립니다 | 대기는 에이전트 풀 건전성으로 | 큐는 자사 Runbook 문제—이면서 제어 면 |
| 디스크·캐시 | 단명 클린 빌드; 따뜻한 캐시도 분 과금 | 규율이 있으면 따뜻한 DerivedData 유지 가능 | 고정 경로, cron 정리, 워터마크 알림—캐시 거버넌스 글 참고 |
| 운영 진입 | Web UI + YAML; 호스트 SSH는 제한적 | 에이전트 로그 + 자사 호스트 SSH 분석 | 풀 SSH, launchd, 모니터링—VPS 사고 |
| 전형적 분할 | PR 체크, Flutter/iOS 유닛, 실험 | 안정 서명 도메인이 필요한 Archive 레인 | 24/7 에이전트, 다중 오케스트레이터, AI/자동화 사이드카 |
「VPS처럼 Mac 임대」는 Codemagic을 버린다는 뜻이 아니라 익숙한 워크플로를 유지한 채 Xcode + 시크릿 + NVMe를 SSH 가능한 계약급 전용 호스트 뒤에 두는 것입니다.
성숙 팀은 하이브리드가 많습니다: 관리형 스택에 예측 가능한 분의 경량 검증을 남기고 명확한 workflow 조건으로 Archive·기업 서명·긴 통합 스위트를 전용 하드웨어로. 클라우드 동시 실행만 올리기보다 피크 압력을 「크레딧 대기」에서 「자사 큐 대기」로——장애는 통제 가능한 호스트에 가깝습니다.
「누가 서명을 변경·캐시를 삭제할 수 있는지」 RACI를 Codemagic·GitHub·GitLab 횡단으로 문서화하지 않으면 세 파이프라인이 인증서 만료 오후에 동시에 페이징됩니다. 재무 비교는 구매 vs 임대 TCO·클라우드 Mac 임대 SLA 가설 그리드를 재사용한 뒤 플랜 재협상하세요.
관리형 분은 온보딩 속도, 큐레이션 스택, 최소 호스트 관리, 중간 릴리스, 예측 가능한 과금 봉투, 피크 시 플랫폼 큐 의미론 수용에 유리합니다. 전용 노드는 전용 동시 실행, 영속 트리, 커스텀 데몬, 고정 egress, 다중 오케스트레이터, SSH 우선 인시던트——Xcode Cloud에서 노드형 용량으로 가는 팀과 같은 신호입니다.
실무 마이그레이션: workflow YAML·환경 그룹은 안정, 머신 타깃만 변경——PR 스모크는 클라우드, Archive는 셀프호스트 풀. 폭발 반경 축소: 엔지니어는 같은 로그, 재무는 경량 레인 분 추세, 플랫폼 담당은 서명/캐시 시 단일 SSH 타깃. 전환일, 롤백(예: 연속 두 릴리스 창에서 큐 P95 SLA 초과), workflow 조건 변경 권한——세 줄로 「임시 하이브리드」가 영구 혼란이 되는 것을 막습니다.
순서가 중요합니다: ID·디렉터리, 다음 에이전트, 마지막 병렬도. 메뉴 표기는 Codemagic 현행 문서를 따릅니다——본 Runbook은 사내 Wiki에 붙일 골격입니다.
과금 분·슬롯 사용 실사: 지난 90일 빌드 분, macOS 병렬 피크, 재시도율을보냅니다. 하드웨어 발주 전 재무·엔지니어링은 같은 그래프를 봐야 합니다.
전용 macOS CI 사용자 준비: 개인 Apple ID 세션과 섞지 마세요. ~/codemagic-ci 등 접두사 표준화·절전 비활성——다른 셀프호스트 가이드와 동일 기선.
툴체인 지문 고정: xcodebuild -version, Ruby, Flutter, 의존 lockfile을 repo 문서에. 재현 가능한 Xcode 지문과 병행.
벤더 절차로 셀프호스트 용량 등록: 등록 토큰은 로테이션 비밀로 취급하고 노트북 브라우저가 아니라 호스트에서 아웃바운드 HTTPS·콜백을 검증합니다.
워크플로를 의도한 머신 그룹에 바인딩: 기본값은 여전히 클라우드 워커——Archive·서명 레인은 명시 조건으로 조용히 분을 태우지 않습니다.
동일 Git SHA 카나리아: 클라우드·전용 레인 각 1회; 병렬 확대·슬롯 폐기 전 큐 대기, 월클락, 디스크 증분 비교.
sla.max_queue_minutes = 25 cost.window_days = 90 capacity.peak_parallel_macos = 4 disk.watermark_free_pct = 20 entry.default = "ssh_ci_user" split.light = "codemagic_cloud" split.heavy = "dedicated_remote_mac_pool"
참고: 무인 CI에서는 VNC보다 SSH 우선 분석입니다. 대화형 키체인 프롬프트가 필요하면 일정을 잡고 기록한 뒤 헤드리스 에이전트로 돌아가세요——위 SSH 체크리스트를 참고하세요.
마무리 후 큐 대기 시간·호스트 디스크 워터마크를 모니터링: 전자는 workflow 오바인딩, 후자는 캐시 정책 폭주. UI 스위트·컴파일이 같은 호스트면 Maestro 큐 설계 병행——무거운 컴파일·시뮬레이터 팜은 IO 프로파일이 다릅니다.
관리형 CI 가격은 두 레버로 읽는 것이 좋습니다: Job 시간(분)과 동시 macOS Job 수(슬롯). 상호작용합니다: 느린 Archive가 슬롯을 점유하면 다른 workflow를 막고 분 미터는 「그럭저럭」일 수 있습니다. 릴리스 주 통증은 단발 느린 컴파일보다 슬롯 상한에서의 병렬 workflow 충돌로 녹색 대시보드가 릴리스 열차를 놓칩니다.
벤더 대시보드를 엔지니어링 수용 조건으로 번역. 예: 에스컬레이션 전 최대 큐 시간, 커밋당 최대 재시도, UI 스위트·Archive 슬롯 공유 여부, 나이틀리가 release 태그용 피크 슬롯 소비 가능 여부. 서명 RACI와 동일 문서에.
전용 원격 Mac은 대화를 뒤집습니다: 큐는 있지만 자사 큐——CPU, 메모리, 디스크 IO, 공개한 정직한 병렬 정책으로 경계를 둡니다. Linux VPS 함대처럼 2 vCPU에서 뮤텍스 없이 12개 Docker 빌드를 돌리지 않습니다; Apple 실리콘도 동일하게 대우하세요. workflow 뮤텍스, 오케스트레이터별 Unix 사용자, 리스크별 머신 분할.
주의: 여유 디스크가 팀 임계값 아래로 떨어지면 스케줄을 중지하고, 의도적 정리와 삭제 경로를 감사 로그에 남기세요. 디스크가 찬 슬롯 기아는 UI에서 「수수께끼 큐」처럼 보입니다.
재무는 「릴리스 주 소방 시간 절감」·「회피한 긴급 클라우드 분 구매」를 단가만이 아니라 추적합니다. 셀프호스트는 가시 Codemagic 청구를 패치·Xcode·에이전트 업데이트와 교환; 전용 임대는 다지역 물류 포함——분기 리뷰에 셋 모두. 보안: 셀프호스트 에이전트는 임의 repo 스크립트 실행——프로덕션 서버 취급: SSH 키 로테, 키만 인증, 최소 sudo, 격리 빌드 계정.
동일 자산에서 AI 코딩 에이전트·OpenClaw Gateway를 돌리면 포트·작업 루트를 CI 트리와 분리——macOS launchd Gateway 병행, 자동화 사이드카가 Archive 디스크를 빼앗지 않게.
repo 규모·병렬 정책으로 임계값 조정; 목표는 리뷰 가능한 수치, 보편 상수가 아닙니다.
빌린 PC는 절전 정책·돌발 OS 업데이트·수동 전원 차단에 부딪힙니다. 그레이 macOS 가상화는 감사에 약하고 시뮬레이터 충실도를 깹니다. Codemagic(또는 모바일 오케스트레이터)을 익숙한 컨트롤 플레인에 두고 macOS 실행을 전용·상시·SSH 가능 원격 노드에 두면 파이프라인은 「가끔 녹색」에서 「계약급」으로.
일회성 개인 HW·불투명 공유 호스트 대비 관리형 분만으로 디스크·서명 경계가 없으면 예측 불가 큐, 재시도 분 스파이크, 인시던트 시 약한 감사 흔적이 흔합니다. iOS 빌드·CI/CD·에이전트에서 24/7 예측 가능 자동화·명확한 키 경계·안정 디스크 티어가 필요하면 NodeMini Mac mini 클라우드 임대가 강한 실행 평면: 관리형 CI는 통합 경험, 전용 노드는 SSH 가능 용량, 슬롯·워터마크는 자사 Runbook에.대여 요금으로 SKU 비교, 헬프 센터로 온보딩.
본 Runbook을 사내 툴체인 변경 티어에 묶고 마이너/메이저 Xcode 업그레이드별 승인·캐시 무효 범위를 나눕니다——「업그레이드일 전부 빨강」에서 서명/디스크 경계로 귀속 못 하는 상황을 막습니다.
전용 동시 실행, 따뜻한 캐시, 통제 가능한 서명 도메인, 상시 가동 호스트 VPS형 SSH 분석이 필요할 때. 2주 파일럿으로 큐 P95, 과금 분, 디스크 증분 기록. 모든 workflow 재작성 전 대여 요금에서 HW 티어 비교.
슬롯은 병렬 macOS Job을 제한합니다. Job 실행 중 분이 누적됩니다——피크에 각 Job이 빨라도 릴리스가 큐될 수 있습니다. 최악 병렬을 모델링하고 최대 큐 분을 SLA에 적으며 헬프 센터에서 연결 기선을 검증하세요.
가능합니다——Codemagic을 컨트롤 플레인으로, 무거운 워크플로를 전용 원격 Mac 풀에. 가벼운 PR은 클라우드, Archive·서명은 전용 호스트. 다중 오케스트레이터면 GitHub Actions 러너 라벨도 병행.