팀 빌드 리소스 구성

파이프라인별 노드 선택

단일 앱의 일상적인 CI부터 Unity 빌드까지, 두 가지 모델로 지원합니다.

작업이 매일 실행되는지, 릴리스 기간에 집중되는지 먼저 살펴보고 메모리, 캐시와 병렬 실행 요구 사항을 확인하세요. VMFly는 가상 머신이 아닌 Apple Silicon Mac mini 실물을 단독으로 제공합니다. 노드 한 대를 고객 한 팀만 사용하므로 다른 테넌트와 빌드 리소스를 공유하지 않습니다.

  • 시작 요금 $20.1/일
  • 칩 옵션 Apple Silicon M4 / M4 Pro
  • 요금제 일 / 주 / 월 / 분기
일상적인 빌드 · 상시 노드

공유 큐 대신 팀 전용 러너 사용

매일 실행하는 단일 앱 파이프라인이라면 Glide M4 월간 요금제부터 시작해 보세요. Apple Silicon M4, 메모리 16GB, SSD 256GB 사양에 월 $100.7입니다. GitHub Actions의 macOS 작업을 자체 러너로 연결하면 공유 호스트에서 다른 테넌트의 작업이 끝나기를 기다릴 필요가 없습니다.

재현 가능한 워크플로 하나부터 이전하기

결과가 안정적으로 나온 기존 빌드 경로를 하나 선택하고 커밋, Xcode 버전, 종속성 잠금 파일과 서명 방식을 기록하세요. 먼저 캐시 없이 빌드가 정상 완료되는지 확인한 뒤 캐시를 활성화해야 합니다. 그렇지 않으면 오래된 캐시가 환경 차이를 가릴 수 있습니다.

  1. 노드에 팀의 self-hosted runner를 설치하고 등록하세요.
  2. 러너에 프로젝트 전용 레이블을 설정하세요. 예를 들어 vmfly-ios를 사용하고, 실행 가능한 저장소를 제한하세요.
  3. 같은 커밋으로 기존 환경과 새 노드에서 각각 실행한 다음 테스트 결과, 아카이브 설정과 빌드 산출물을 확인하세요.

브랜치별 검사, 야간 빌드와 매일 반복 실행하는 회귀 테스트에 적합합니다.

전용 리소스라고 무제한 병렬 실행이 가능한 것은 아닙니다

물리 Mac을 단독으로 사용하면 다른 테넌트와의 리소스 경쟁은 사라지지만, 팀 내부 작업은 여전히 큐로 관리해야 합니다. 이전 첫날부터 모든 작업을 한 대의 머신에 동시에 몰아넣지 마세요.

  • 실행 작업 하나부터 시작해 빌드 중 최대 메모리 사용량, 남은 디스크 공간과 캐시 증가량을 살펴보세요.
  • 아카이브 작업과 UI 테스트에 서로 다른 레이블을 지정해 같은 작업 디렉터리에 동시에 기록되지 않도록 하세요.
  • 실제 프로젝트로 메모리 16GB가 충분한지 먼저 확인한 뒤 노드를 추가할지 다른 모델을 선택할지 결정하세요.

검수 기준은 빌드가 성공했다는 표시만으로 충분하지 않습니다. 팀에서 산출물을 다운로드할 수 있는지, 로그가 보존되는지, 재부팅 후 러너가 다시 실행되는지도 확인하세요. 월간 요금제는 지속적인 사용에 적합하지만, 모든 프로젝트가 한 달 내내 노드를 켜 둘 필요는 없습니다.

릴리스 기간 확장 · 일 단위 이용

아카이브와 UI 테스트를 별도 노드에서 실행

릴리스 주간의 병목은 대개 며칠간 집중됩니다. Cruise M4 Pro를 하루 단위로 추가해 UI 테스트나 아카이브를 실행하세요. 요금은 하루 $61.5이며 Apple Silicon M4 Pro, 메모리 64GB, SSD 2TB 사양입니다. 기존 노드에서는 일상적인 검사를 계속 실행할 수 있으므로 짧은 피크 수요 때문에 장비를 장기간 추가 구매할 필요가 없습니다.

확장 전에 작업을 분리하세요

한 머신은 아카이브, 다른 머신은 테스트를 맡아야 리소스를 명확히 분담할 수 있습니다. 러너 수만 늘리고 모든 작업이 계속 같은 직렬 단계에서 대기한다면 릴리스 과정은 저절로 빨라지지 않습니다.

  • 같은 커밋을 고정하고 아카이브 작업과 테스트 작업을 따로 생성하세요.
  • 산출물 이름과 업로드 위치를 정해 브랜치 간 덮어쓰기를 방지하세요.
  • 환경 초기화 단계를 기록해 임시 노드도 설정 파일로 다시 구성할 수 있게 하세요.

주요 경로부터 측정한 뒤 병렬 실행을 늘리세요. 실측하지 않은 빌드 속도 향상 수치는 보장하지 않습니다.

릴리스가 끝나기 전에 인계 절차를 완료하세요

단기 노드의 종료 조건을 릴리스 체크리스트에 포함하세요. 최종 검증을 마치고 산출물을 가져오며 진단 로그를 저장한 뒤 대여 기간을 종료하세요. 러너 사용을 중단해도 이후 요금이 자동으로 취소되는 것은 아니므로 콘솔에서 구독 상태와 만료일을 확인해야 합니다.

  • 보관할 아카이브, 테스트 보고서와 오류 로그를 내보내세요.
  • 코드 호스팅 플랫폼에서 임시 러너 등록을 해제하세요.
  • 임시 토큰을 폐기하고 만료 전에 데이터를 백업하세요.
Unity iOS · 내보내기 및 아카이브

IPA 내보내기까지 하나의 워크플로로 구성

Unity에서 내보낸 Xcode 프로젝트, 종속성 설치, 서명과 IPA 아카이브는 추적 가능한 동일한 환경에서 실행해야 합니다. Cruise M4 Pro의 메모리 64GB와 SSD 2TB는 대형 프로젝트, 에셋 가져오기와 빌드 캐시에 여유 공간을 제공하지만, 실제 용량과 병렬 작업 수는 프로젝트별로 검증해야 합니다.

  1. 01

    내보내기 환경 고정

    Unity 에디터 버전, 프로젝트 종속성과 iOS 내보내기 설정을 기록하세요. 고정된 커밋으로 Xcode 프로젝트를 생성해 로컬과 노드의 에디터 버전 차이를 방지하세요.

  2. 02

    서명 및 아카이브 확인

    대상, 빌드 설정, 프로비저닝 프로파일과 내보내기 방식을 확인하세요. 팀에서 승인한 자격 증명 절차로 서명 자료를 작업에 제공하고, 코드 저장소나 공개 로그에는 기록하지 마세요.

  3. 03

    캐시와 배포 산출물 분리

    캐시는 다시 만들 수 있지만 릴리스 산출물은 보존해야 합니다. Unity 중간 파일, DerivedData와 이전 아카이브를 서로 다른 디렉터리에 두고 정리 규칙을 설정해 파일이 쌓여 시스템 디스크를 가득 채우지 않도록 하세요.

대화형 작업 · 먼저 검증한 뒤 상시 사용

디버깅에는 데스크톱, 실험에는 재현 가능한 환경

무인 빌드만 가능한 것이 아닙니다. 콘솔에 로그인한 뒤 브라우저에서 노드의 macOS 원격 데스크톱을 열어 Xcode로 직접 디버깅할 수 있습니다. SSH로 스크립트를 실행해 Apple Silicon에서 로컬 모델 추론 워크플로를 검증할 수도 있습니다.

원격 개발은 조작 지연부터 확인하세요

시뮬레이터를 자주 클릭하거나 화면을 확인하고 단계별 디버깅을 할 때는 백그라운드 빌드보다 네트워크 왕복 지연이 사용감에 더 큰 영향을 줍니다. 데이터센터 위치는 싱가포르, 일본(도쿄), 대한민국(서울), 홍콩 중에서 선택할 수 있습니다. 팀과 가까운 노드부터 사용해 보고 장기 사용 위치를 결정하세요.

  • 팀의 사무실 네트워크에서 글자 선명도, 조작 반응과 파일 전송을 확인하세요.
  • 일상적인 편집과 장시간 아카이브 작업 시간을 분리해 팀 내부의 리소스 경쟁을 줄이세요.
  • 여러 명이 같은 노드를 사용한다면 데스크톱 조작과 자격 증명 관리 규칙부터 정하세요.

브라우저 데스크톱은 대화형 작업에, SSH는 자동화에 사용하세요. 둘 다 같은 프로젝트에 활용할 수 있습니다.

AI 실험 전 메모리 사용량 확인

모델 이름만 보지 말고 모델 파일, 추론 정밀도, 컨텍스트 길이와 동시에 실행할 도구를 기준으로 선택하세요. 짧은 기간 동안 환경을 설치하고 샘플을 검증한 뒤 Glide M4와 Cruise M4 Pro 중에서 결정하세요.

  • 종속성이 Apple Silicon을 지원하는지 확인하고 설치 버전과 시작 인수를 기록하세요.
  • 실행 중 실제 메모리 사용량을 확인하세요. SSD 용량을 메모리 용량으로 착각하지 마세요.
  • 입력, 매개변수와 출력을 저장해 새 노드로 옮긴 뒤에도 실험을 재현할 수 있게 하세요.

메모리 64GB가 모든 모델의 실행을 보장하지는 않습니다. 호환성과 필요한 용량은 실제 작업으로 검증해야 합니다.

파이프라인 점검 · 서명부터 배포까지

빌드의 각 단계에서 추적 가능한 결과를 남기세요

아래는 fastlane 워크플로의 예시이며, 노드에서 실측한 결과가 아닙니다. 팀에서 서명 저장소 접근 권한, 프로젝트 scheme, 앱 식별자와 배포 자격 증명을 직접 설정해야 합니다. 각 단계가 개별적으로 성공하는지 확인한 다음 무인 작업으로 연결하세요.

cruise-m4pro — fastlane
$ bundle exec fastlane match appstore --readonly
[match] Fetching signing certificates and profiles
[match] Installing signing assets into the build keychain
[match] Signing assets are ready

$ bundle exec fastlane gym --scheme "$SCHEME" --export_method app-store
[gym] Archiving the selected scheme
[gym] Exporting the archive
[gym] IPA export completed

$ bundle exec fastlane pilot upload --ipa "$IPA_PATH"
[pilot] Uploading the selected IPA
[pilot] Upload completed; processing continues on TestFlight

match: 필요한 자격 증명만 가져오기

CI에서는 읽기 전용 방식으로 기존 서명 자료를 가져오세요. 서명 저장소에 접근할 수 없다면 먼저 권한을 확인하고, 로그에 개인 키, 토큰이나 복호화 암호를 출력하지 마세요.

gym: 아카이브와 내보내기 구분

아카이브 성공이 IPA 내보내기 성공을 뜻하지는 않습니다. 아카이브 로그를 보관하고 scheme, 서명 설정과 내보내기 매개변수를 각각 확인해 두 단계의 오류를 구분하세요.

pilot: 업로드 완료가 처리 완료는 아닙니다

업로드가 끝난 뒤에도 배포 플랫폼의 처리가 필요합니다. 업로드 결과를 저장하고 처리 상태를 확인하세요. 네트워크 업로드가 성공했다고 곧바로 팀 검수를 통과한 것으로 처리해서는 안 됩니다.

하루 20회 빌드 · 배포 방식 비교

리소스 소유 방식과 운영 책임을 함께 비교하세요

소규모 팀이 하루 20회 빌드를 실행한다고 가정해 보겠습니다. 이 수치는 작업 빈도를 설명하기 위한 것이며 성능 테스트 결과가 아니고, 필요한 머신 수를 단독으로 결정할 근거도 아닙니다. 한 번의 빌드 시간, 동시 실행 수, 캐시 적중률과 릴리스 피크도 기록한 뒤 다음 세 가지 배포 방식을 비교하세요.

동일한 iOS 파이프라인의 배포 옵션입니다. 구체적인 기능과 제공 조건은 실제 플랫폼에서 확인해야 합니다.
비교 항목 VMFly 물리 노드 대여 Mac 하드웨어 직접 구매 공유 가상 머신
비용 구조 일·주·월·분기 단위로 대여합니다. Glide M4는 월 $100.7이며 추가 옵션은 별도 요금입니다. 장비 구매 비용 외에 랙 설치, 네트워크, 전력과 일상적인 관리 비용이 발생합니다. 플랫폼의 기간제 또는 사용량 기준으로 결제합니다. 대기열 규칙과 동시 실행 할당량도 확인해야 합니다.
제공 절차 결제 확인 후 물리 머신이 배정됩니다. 실제 사용 가능 여부는 콘솔의 실시간 상태를 확인하세요. 장비를 구매하고 배송받은 뒤 네트워크 연결과 원격 접속을 설정해야 합니다. 플랫폼이 리소스를 배정합니다. 대기열 여부와 환경의 지속성은 서비스에 따라 다릅니다.
독점 사용 여부 Mac mini 한 대를 고객 한 팀이 단독으로 사용하며, 가상 머신이 아닙니다. 팀이 하드웨어를 단독으로 사용하고 현장 및 시스템 관리도 직접 담당합니다. 일반적으로 다른 인스턴스와 호스트 리소스를 공유하며, 격리와 리소스 배분은 플랫폼이 관리합니다.
확장 유연성 모델을 변경하거나 노드를 추가할 수 있습니다. 환경과 데이터 마이그레이션은 직접 계획해야 합니다. 확장하려면 보통 하드웨어를 추가하고 배포해야 하며, 기존 장비에도 계속 예산이 묶입니다. 선택 가능한 사양과 확장 방식은 플랫폼의 상품 목록 및 스케줄링 규칙에 따라 달라집니다.

같은 커밋으로 먼저 선택을 검증하세요

하루에 짧은 빌드 20회를 실행한다면 안정적인 캐시가 더 중요할 수 있고, 실행 시간이 긴 UI 테스트를 소수 진행한다면 실행 노드를 분리하는 편이 나을 수 있습니다. 빌드 횟수만으로 모델을 업그레이드하지 마세요. 같은 프로젝트로 빌드 시간, 메모리와 디스크 사용량을 각각 확인한 뒤 Glide M4 한 대를 상시 사용할지, 릴리스 기간에 Cruise M4 Pro를 추가할지 결정하세요.

VMFly는 전용 물리 노드를 제공하며 프로젝트 종속성, 러너 권한, 서명 자료와 산출물 백업은 팀에서 관리해야 합니다. 파이프라인 편성까지 완전히 위탁하고 싶다면 팀에서 이미 사용하는 도구가 이 작업들을 담당하는지 먼저 확인하세요.

사용 사례에 맞는 옵션 선택

일상적인 빌드는 지속 부하를, 임시 확장은 사용 일수를 기준으로 선택하세요. 두 가지 사양과 네 가지 요금제를 확인한 뒤 파이프라인에 맞는 노드를 구성하세요.