전용 물리 노드
Mac mini 한 대를 한 사용자만 사용합니다. CPU, 통합 메모리, SSD를 다른 사용자와 공유하지 않으며 자원을 분할하거나 초과 판매하지 않습니다. 빌드 캐시는 전용 노드에 남아 매 작업마다 환경을 다시 준비할 필요가 없습니다.
호스트 1대 = 사용자 1명
전용 물리 Mac, 가상 머신이 아닙니다. 5개 리전, 일·주·월·분기 요금, 하루 $21.1부터
Mac 한 대로 시작해 오늘 바로 빌드 파이프라인에 연결하세요. 실제 이용 가능 여부와 제공 정보는 콘솔에서 확인할 수 있습니다.
예시 흐름, 실시간 데이터 아님빌드 시간은 프로젝트, 의존성, 캐시에 따라 달라집니다
iOS 빌드 머신에는 안정성, 재현성, 상시 가용성이 중요합니다. 로그인한 뒤 하드웨어와 권한, 도구 체인을 확인하고 첫 파이프라인을 연결하세요.
Mac mini 한 대를 한 사용자만 사용합니다. CPU, 통합 메모리, SSD를 다른 사용자와 공유하지 않으며 자원을 분할하거나 초과 판매하지 않습니다. 빌드 캐시는 전용 노드에 남아 매 작업마다 환경을 다시 준비할 필요가 없습니다.
호스트 1대 = 사용자 1명
Xcode, 시뮬레이터, Metal이 macOS에서 기본 방식으로 실행됩니다. 그래픽 인터페이스와 명령줄을 모두 사용할 수 있어 개발 도구가 가상화 환경의 제약을 받지 않습니다. 하드웨어 정보를 직접 확인해 Mac mini 모델을 검증할 수 있습니다.
system_profiler SPHardwareDataType
하루 대여로 의존성과 서명 과정을 먼저 확인하세요. 릴리스 집중 기간에는 주 단위, 상시 러너에는 월 또는 분기 단위를 선택할 수 있습니다. 기간별 요금을 각각 표시하며 월 요금을 일 단위로 환산해 시작 가격처럼 안내하지 않습니다.
M4 Base: 하루 $21.1 · 주 $57.1 · 월 $105.7
모든 모델은 Apple Silicon Mac mini입니다. 3개 모델을 5개 리전에서 모두 이용할 수 있습니다. 메모리와 SSD 용량은 모델별로 고정되며, 추가 작업 공간은 별도 옵션으로 선택할 수 있습니다.
ID m4-16-256
전용 물리 노드 · Mac mini
ID m4-24-512
전용 물리 노드 · Mac mini
ID m4pro-64-2tb
전용 물리 노드 · Mac mini
+1TB / +2TB SSD와 Thunderbolt 5 병렬 연결을 추가 구매할 수 있습니다. 네트워크 사양, 도구 체인 버전, 제공 구성은 주문 및 개통 시 확인하세요.
전체 사양 및 옵션 보기모든 요금은 USD로 결제합니다. 각 카드에서 일·주·월·분기 요금을 선택할 수 있으며, 표시 금액은 선택한 기간의 기본 대여료 총액입니다. 일 단위 환산 요금이 아닙니다.
M4 · 16GB · 256GB
$21.1/일
scheme 하나인 프로젝트와 단기 검증에 적합합니다. 전체 빌드 시간, 캐시 사용량, 최대 메모리 사용량을 기록한 뒤 상시 운영 용량을 늘릴지 결정하세요.
M4 · 24GB · 512GB
$41.4/일
의존성 캐시를 꾸준히 쌓고 여러 scheme을 전환하는 팀에 적합합니다. 동시에 빌드해야 한다면 여러 노드에 작업을 분산하세요. 순차 대기열은 병렬 실행이 아닙니다.
M4 Pro · 64GB · 2TB
$59.5/일
대형 프로젝트 전체 빌드, 시뮬레이터 테스트, 로컬 모델 추론 검증에 적합합니다. 64GB 통합 메모리와 2TB SSD로 여러 의존성과 빌드 산출물을 넉넉하게 관리할 수 있습니다.
시작 가격은 하루 $21.1이며, +1TB SSD는 하루 $3부터입니다. 추가 옵션은 별도 요금이 부과됩니다. 결제 전에 모델, 기간, 리전, 총액을 확인하세요.
기간별 요금 및 옵션 자세히 보기클라우드 Mac 1~N대를 GitLab 또는 GitHub Actions의 셀프 호스팅 러너로 등록하세요. 파이프라인 하나를 먼저 실행한 다음 여러 scheme을 각 노드에 분배할 수 있습니다.
같은 commit으로 전체 빌드와 증분 빌드 시간을 기록하고 인증서, 의존성 다운로드, DerivedData 사용량을 확인하세요. 먼저 러너 하나당 동시에 작업 하나를 실행하는 방식으로 시작하세요.
macOS, Xcode 버전, 프로젝트 용도에 따라 태그 이름을 지정하세요. 매트릭스 작업은 일치하는 태그를 가진 러너가 여러 대 있을 때만 여러 호스트에서 동시에 실행할 수 있습니다.
프로젝트 요구 사항에 맞는 Xcode 버전을 선택해 계속 유지하세요. DEVELOPER_DIR로 버전을 지정하고 아카이브와 캐시 경로를 각각 설정해 여러 작업이 서로 덮어쓰지 않도록 하세요.
Xcode 버전만으로 재현 가능한 빌드가 보장되지는 않습니다. 의존성 잠금 파일, 서명 자료, 내보내기 설정, 환경 변수도 팀 변경 기록에 포함하세요.
name: ios-nightly
on:
workflow_dispatch:
schedule:
- cron: "0 13 * * *"
jobs:
archive:
runs-on: [self-hosted, macOS, xcode-16.2]
strategy:
fail-fast: false
matrix:
scheme: [App-Prod, App-Staging, Widget]
env:
DEVELOPER_DIR: /Applications/Xcode-16.2.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- name: Archive
run: |
xcodebuild archive \
-workspace App.xcworkspace \
-scheme "${{ matrix.scheme }}" \
-configuration Release \
-archivePath "build/${{ matrix.scheme }}.xcarchive"
- name: Export
run: |
xcodebuild -exportArchive \
-archivePath "build/${{ matrix.scheme }}.xcarchive" \
-exportPath "build/export/${{ matrix.scheme }}" \
-exportOptionsPlist ci/export.plist
workspace, scheme, Xcode 경로를 프로젝트 설정에 맞게 바꾸세요. GitLab도 러너 태그로 작업을 할당합니다. 인증서와 키는 보호된 변수 또는 전용 키체인으로 관리하고 저장소에는 넣지 마세요.
싱가포르, 일본(도쿄), 한국(서울), 홍콩, 미국 서부에서 세 가지 모델을 모두 이용할 수 있습니다. 작업자와 저장소의 위치를 고려한 뒤 실제 접속 경로를 확인하세요.
동남아시아
동아시아
동북아시아
중국 남부 및 동남아시아
북미 서부 해안
지연 시간은 리전별 참고 범위이며, 사용자 네트워크에서 직접 측정한 값이 아닙니다. SSH 업로드·다운로드, 저장소 가져오기, VNC 화면은 각 연결 경로의 영향을 받습니다. 미국 서부의 시간대는 서머타임에 따라 달라집니다. 모든 리전은 연중무휴 365일 운영되며, 실제 이용 가능 여부는 콘솔에서 확인할 수 있습니다.
스크립트와 CI에는 SSH를, Xcode와 시뮬레이터에는 VNC 화면 공유를 사용하세요. 콘솔에서 호스트 주소와 인증 정보를 확인한 뒤 연결 안내에 따라 클라이언트를 설정하면 됩니다.
의존성 설치, 러너 등록, 빌드 로그 확인에 사용합니다. 처음 로그인한 뒤 비밀번호를 변경하고 공개 키를 추가하세요. 키 인증이 되는지 확인한 다음 인증 설정을 조정하세요.
ssh -i ~/.ssh/armrdp admin@<호스트-주소>Xcode 설정, 키체인, 시뮬레이터를 확인할 때 사용합니다. SSH 터널을 통해 연결하고 로컬 포트를 호스트의 화면 공유 서비스로 전달하는 방법을 권장합니다.
ssh -N -L 5901:localhost:5900 admin@<호스트-주소>그래픽 작업과 자동화 작업이 같은 프로젝트 파일과 도구 체인을 사용하므로 두 환경 사이에 빌드 디렉터리를 복사할 필요가 없습니다.
의존성 설치, 아카이브 명령, 로그 및 산출물 확인
프로젝트 설정, 시뮬레이터, 서명 및 UI 디버깅
vnc://localhost:5901세 가지 역할의 1인칭 요구 사항으로 노드 구성 방법을 설명합니다. 사용 사례 예시이며 고객 후기나 성능 통계가 아닙니다.
“릴리스 주간에는 세 개의 scheme이 각각 별도 아카이브 경로를 쓰면 좋겠어요. 작업을 여러 러너에 분배할 수 있다면 한 대기열만 계속 지켜볼 필요도 없겠죠.”
iOS 리드 · 요구 사항 예시
“Xcode 버전과 의존성 잠금 파일을 함께 고정하고 싶습니다. 먼저 같은 commit에서 결과를 확인한 다음 이 Mac을 정식 파이프라인에 추가할게요.”
CI/CD 엔지니어 · 요구 사항 예시
“먼저 M4 Base를 하루 대여해 인증서와 GitLab 러너를 설정해 보겠습니다. 프로젝트가 실제로 얼마나 자원을 쓰는지 확인한 뒤 장기 이용 기간을 선택할게요.”
독립 개발자 · 요구 사항 예시
아닙니다. 한 사용자가 단독으로 이용하는 물리 Mac mini입니다. 대여 기간 동안 하드웨어 자원을 다른 사용자와 나누지 않습니다. 시스템 정보에서 칩, 메모리, 저장 공간 구성을 확인할 수 있습니다.
프로젝트에 필요한 버전을 설치해 함께 유지할 수 있습니다. 빌드 스크립트에서 DEVELOPER_DIR로 버전을 지정하거나 xcode-select로 전환하세요. 설치하기 전에 macOS 호환성과 남은 디스크 공간을 확인하세요.
먼저 호스트 한 대에서 작업 하나를 실행해 최대 메모리 사용량, 아카이브 시간, 디스크 읽기·쓰기 속도를 기록하세요. 그다음 같은 호스트의 동시 작업을 늘릴지 새 노드를 추가할지 결정하면 됩니다. scheme 수만으로 완료 시간을 예측할 수는 없습니다.
인증서는 전용 키체인에 넣고 민감한 변수는 CI의 보호된 설정에 저장하세요. 아카이브와 내보낸 산출물은 팀 자체 저장소에 동기화하고, 대여 기간이 끝나기 전에 백업한 뒤 더 이상 사용하지 않는 접근 자격 증명을 폐기하세요.
실행 가능한 Swift 스크립트로 키 이스케이프와 배열 인덱스를 검증하고, 정상적인 null과 누락 필드를 명확히 구분합니다.
CI/CD최대잔여법으로 백분율 합계를 유지하고, Swift 검사로 동률 순서와 영 가중치, 정수 오버플로 경계를 검증합니다.
Security패딩 없는 Base64URL을 검증하는 Swift 스크립트로 잘못된 문자, 비정규 끝부분 비트, 과도한 입력 크기를 차단합니다.
새 글을 준비 중입니다. 먼저 블로그 목록을 확인하세요.
먼저 대여 기간과 구성을 선택한 뒤 주문 총액을 확인하세요. 기본 대여료와 추가 옵션은 별도로 표시되며, 실제 사용 가능한 결제 게이트웨이는 백엔드 응답을 기준으로 합니다.
온체인 결제 전 네트워크와 수취 정보를 확인하세요. 카드 결제는 게이트웨이 페이지에서 진행하면 됩니다. 결제 상태가 확인되지 않았다면 먼저 주문을 확인하고 같은 결제를 다시 생성하지 마세요.