모바일 팀은 Bitrise 클라우드 macOS와 전용 리모트 Mac 셀프호스팅 에이전트 사이에서 흔들립니다. 전자는 청구와 큐 의미는 명확하지만 스택 경계가 고정되고, 후자는 VPS처럼 계약 가능한 머신처럼 느껴지지만 비밀·디스크 운영 성숙도가 필요합니다. 대상: 플랫폼 엔지니어와 iOS 리드. 문제: 분 과금, 스택 트랙, 에이전트 풀, 키체인 세션이 엇갈립니다. 성과: 숨은 가정 7가지, 4분면 비교표(GitHub Actions Runner, GitLab Runner), 6단계 온보딩 Runbook, FAQ에서 대여 요금과 헬프 센터로 안내합니다.
Bitrise는 YAML·스텝 마켓·분 단위 대시보드를 묶지만, 실제 iOS 장애는 Xcode 지문, 서명 경계, 디스크 증폭이 만나는 지점에 남습니다. 리뷰에서 빼면 로고 논쟁만 남습니다.
셀프호스팅=운영 제로: 에이전트는 실행기일 뿐이며 Ruby/Bundler, CocoaPods/SwiftPM, DERIVED_DATA 계약은 여전히 팀 소유입니다. 의존성·디스크 거버넌스와 맞춥니다.
클라우드 분과 리스 CapEx가 선형 합: 릴리스 주간 스파이크와 야간 유휴 코어를 재무 모델에 넣습니다. 상시 전용 노드는 유휴비를 빌드당 상각합니다.
Xcode/스택 업그레이드를 무시: 클라우드 Job은 자동 이전될 수 있으나 셀프호스팅 레인은 카나리아 Workflow와 롤백 창이 필요합니다.
서명을 누군가 노트북에: 엔터프라이즈 인증서와 match는 전용 CI 사용자·로테이션 Runbook이 전제입니다. Fastlane 헤드리스 CI를 보세요.
경로 분리 없이 Bitrise와 다른 오케스트레이터 혼합: 엔터프라이즈 빌드 풀과 같습니다. 이름 없는 워크스페이스는 릴리스 열차에서 충돌합니다.
첫 실행 GUI 의존성 과소평가: SSH 대 VNC 체크리스트로 일회성 대화 세션을 만든 뒤 헤드리스로 돌아갑니다.
네트워크 점검이 웹만 통과하면 끝: 안정적인 아웃바운드와 콘솔 콜백이 필요합니다. TLS 검사 프록시는 워커를 좀비로 만들고 앱 로그에는 안 보입니다.
공통 원인은 리모트 Mac을 CPU 렌탈로 보는 태도입니다. 툴체인 지문과 컴플라이언스 경계가 있는 프로덕션 노드로 다루세요. CircleCI·Buildkite도 검토 중이면 CircleCI 하이브리드와 Buildkite Agent로 제어·실행면을 분리해 읽습니다.
운영적으로 두 번째 에이전트 전에 큐 깊이 P95, Archive E2E 소요 분포, 주간 디스크 델타를 게시하세요. 없으면 혼돈만 복제합니다. 임시 사무실 노트북 대비 전용 리스 하드웨어는 전력·부품·원격 핸즈 예측 가능성이 높고, 불명확한 가상화보다 Apple 실리콘은 서명·스토어 리스크를 줄입니다. 차이는 RFC에, 채팅에 남기지 마세요.
만능은 없습니다. 워크플로가 저장소에 얼마나 붙어 있는지, 분 청구를 누가 보증하는지, macOS 용량이 물리적으로 전용인지 리뷰에서 고정합니다.
| 축 | Bitrise 클라우드 macOS | Bitrise 셀프호스팅(전용 리모트 Mac) | GitHub Actions 셀프호스팅 | GitLab Runner(shell) |
|---|---|---|---|---|
| 제어면 | Bitrise UI/API + 저장소 YAML | 동일 + 에이전트 경로·풀 명시 | runs-on 라벨 + 러너 그룹 | tags + 등록 범위 |
| 과금 관점 | Workflow 분 + 스택 티어 | 클라우드 분 + 고정 리스 이중 트랙이 흔함 | Actions 분 + 감가상각 | 러너 동시성 라이선스 + 하드웨어 |
| 탄력성 | 성숙한 병렬 단계·마켓 | 머신당 솔직한 CPU/IO 천장 | 매트릭스 + 라벨 분할 | resource_group 스타일 뮤텍스 |
| 적합 시나리오 | 빠른 단위 테스트·IPA 시제품 | Archive·기업 서명·따뜻한 디스크가 필요한 장통합 | GitHub 이벤트에 깊이 결합된 팀 | GitLab 권한 모델과 강결합 |
Bitrise 안에서 “VPS처럼 Mac을 빌린다”는 것은 워크플로 인체공학을 유지하면서 Xcode·비밀·NVMe를 계약된 전용 호스트 뒤에 잠근다는 뜻입니다.
Steps에 이미 묶였지만 소수의 무거운 Job만 디스크·서명 영역을 예측해야 한다면 가벼운 검증은 클라우드 스택, 무거운 빌드는 셀프호스팅 풀로 Workflow 조건을 명시합니다. 클라우드 병렬만 올리는 것보다 피크가 “크레딧 대기”에서 “자체 큐 대기”로 옮겨가고 실패는 SSH 가능한 호스트 근처로 붙습니다.
Bitrise·GitHub·GitLab에서 서명 변경·캐시 삭제 RACI를 문서화하지 않으면 인증서 만료 오후에 세 파이프라인이 동시에 페이지됩니다. 재무 비교는 Bitrise 스택 토글 전에 구매 대 리스 TCO 가정표를 재사용하세요.
순서가 중요합니다. 계정·디렉터리 → 에이전트 등록 → 병렬화 순입니다. 메뉴 레이블은 Bitrise 최신 문서를 따르고 여기서는 공학 골격만 제시합니다.
전용 macOS CI 사용자: 개인 Apple ID 세션과 섞지 않습니다. ~/bitrise-ci 같은 접두사를 표준화합니다.
툴체인 지문 고정: xcodebuild -version, Ruby, Bundler를 저장소 문서에 기록합니다.
벤더 가이드로 셀프호스팅 에이전트 설치·등록: 등록 토큰은 만료 창이 있는 회전 비밀로 Runbook에 둡니다.
Workflow를 올바른 스택/풀에 바인딩: 기본값이 클라우드 워커인 경우가 많습니다.
hello Workflow: checkout + xcodebuild -list로 큐→호스트 폐루프를 증명합니다.
동일 Git SHA 카나리아: 클라우드·셀프호스팅 레인에서 병렬 확대 전 비교합니다.
xcodebuild -version sysctl hw.memsize hw.ncpu df -h / /usr/bin/security find-identity -v -p codesigning
참고: 시스템 절전을 끄고 재부팅 후 LaunchDaemon/LaunchAgent 생존을 확인합니다. 낮엔 초록·밤엔 빨강은 Bitrise 장애로 위장합니다.
폐루프 후 큐 대기 시간과 호스트 디스크 워터마크에 모니터를 연결합니다. 전자는 잘못된 풀 바인딩, 후자는 캐시 정책 폭주를 드러냅니다. XCTest 병렬 지침과 같이 UI 테스트와 컴파일 중심 Job은 서로 다른 IO 프로파일을 싸웁니다.
초록 대시보드가 유휴 CPU를 뜻하진 않습니다. 의존성 해석·컴파일·서명 스파이크는 시간으로 어긋납니다. 뮤텍스 단계나 커스텀 큐로 솔직한 상한을 표현하세요. 전용 리모트 Mac은 공유 노트북·불안정 VM보다 NVMe 지연과 키체인 연속성에서 유리하지만 디스크 가드레일 없이는 금요일 밤 git/Xcode 반쓰기 아티팩트 위험이 남습니다.
주의: 여유 디스크가 팀 임계값 아래면 스케줄을 멈추고 의도적으로 정리하며 삭제 경로를 감사 로그에 남깁니다.
재무는 단가만이 아니라 “릴리스 주간 야근 회피 시간”과 “긴급 클라우드 분 구매 방지”를 함께 추적합니다. 셀프호스팅 레인은 보이는 Bitrise 청구와 바꿔 패치·Xcode·에이전트 업그레이드를 집습니다. 순수 데이터센터는 유지보수 부담을 내부로 옮기고 리스 전용 호스트는 다지역 물류를 묶는 경우가 많습니다. 셋 모두 분기 리뷰에 기록합니다.
보안상 셀프호스팅은 임의 저장소 스크립트를 실행하므로 호스트를 프로덕션 서버처럼 다룹니다. SSH 키 로테이션, 키 전용 인증, 최소 sudo, 격리 빌드 계정. 재현 가능 빌드 지문과 교차 검증해 툴체인 업그레이드마다 카나리아와 롤백 태그를 싣습니다.
임계값은 저장소 규모와 병렬 정책에 맞춥니다.
대여 노트북은 절전·깜짝 OS 업데이트·전원 스위치와 싸우고 불법 macOS 가상화는 감사에 실패합니다. 익숙한 오케스트레이션으로 Bitrise를 두고 macOS 실행은 전용·상시·SSH 친화 리모트 노드에 두면 파이프라인이 “가끔 초록”에서 “계약 가능”으로 넘어갑니다. 일회성 개인 장비나 불투명 공유 호스트 대비 NodeMini Mac Mini 클라우드 렌탈은 SSH 계약·디스크 티어·반복 가능한 실행 프로파일을 명확히 해 iOS CI/CD와 자동화 플랫폼 기반을 강화합니다. SKU는 대여 요금, 온보딩은 헬프 센터를 참고하세요.
이 Runbook을 내부 툴체인 변경 등급에 묶어 마이너·메이저 Xcode 업그레이드마다 승인과 캐시 무효 범위를 분리합니다. 업그레이드 당일 전부 빨강이어도 서명·디스크 경계로 설명 가능해야 합니다.