iOS 개발에서 빌드·배포는 가장 시간을 많이 쓰고, 개발기를 붙잡는 구간입니다. 로컬에서만 아카이브하면 Mac이 뜨거워지고 다른 작업이 멈추기 쉽고, 팀 전체가 같은 방식으로 빌드하기도 어렵습니다. 원격 Mac mini에 GitLab Runner를 올려 CI/CD 자동 파이프라인을 만드는 방식은 이미 많은 iOS 팀의 기본 설정이 되었습니다. 이 글에서는 그 구성을 단계별로 정리합니다.
왜 원격 Mac mini인가? 방식 비교
iOS 자동화를 설계할 때 보통 로컬 빌드, 클라우드 공용 빌드, 전용 원격 Mac 중 하나를 선택하게 됩니다. 원격 Mac mini + GitLab Runner 조합이 갖는 장점을 표로 정리했습니다.
| 구분 | 로컬 수동 빌드 | 원격 Mac mini (CI/CD) |
|---|---|---|
| 개발 효율 | 낮음 (빌드 시 다른 작업 지연) | 높음 (백그라운드 자동 실행) |
| 환경 일관성 | 개인별로 상이 | 표준화된 단일 환경 |
| 빌드 속도 | 개인 PC 스펙에 의존 | 전용 고성능 Mac으로 단축 |
| 팀 협업·해외 출시 | 공유·재현이 어려움 | 한 번 설정 후 전원이 동일 파이프라인 사용, 글로벌 배포에도 유리 |
설정 순서: 네 단계로 정리
먼저 원격 Mac에 접속할 수 있어야 합니다. VNCMac처럼 물리 Mac을 제공하는 서비스를 쓰면, macOS 기본 「화면 공유」나 VNC 클라이언트로 곧바로 접속할 수 있습니다. 헤드리스 서버처럼 두고, 모니터 없이도 로컬 PC처럼 터미널·Xcode 환경을 구성할 수 있습니다. VNCMac의 M4 제품은 지연이 적고 화면 동기화가 안정적이라 원격에서 작업하기에 적합합니다.
원격 Mac mini 터미널에서 Homebrew로 설치한 뒤 서비스로 등록·시작합니다.
brew install gitlab-runner
gitlab-runner install
gitlab-runner start
GitLab 프로젝트 Settings → CI/CD → Runners에서 토큰을 복사한 뒤, 해당 Mac에서 다음을 실행합니다.
gitlab-runner register
실행기(Executor)는 반드시 shell을 선택하세요. iOS 빌드는 Xcode·코드 서명 등 시스템 도구를 그대로 써야 하므로 Docker보다 셸 실행기가 맞습니다.
Fastlane은 iOS 자동화의 핵심 도구입니다. 프로젝트 루트에서 fastlane init 후 Fastfile에 lane :beta 등을 만들어, 버전 bump·Archive·TestFlight 업로드를 한 번에 수행하도록 정의합니다.
.gitlab-ci.yml 구성 예시
프로젝트 루트에 .gitlab-ci.yml을 두고, 커밋·머지 시 자동으로 빌드 잡이 돌게 합니다. Runner 등록 시 붙인 태그(예: ios)와 맞추면, 해당 Mac에서만 job이 실행됩니다.
stages:
- build
build_job:
stage: build
tags:
- ios
script:
- bundle install
- bundle exec fastlane beta
only:
- master
코드 서명과 Fastlane Match
서명·프로비저닝은 실수하기 쉬운 부분입니다. Fastlane Match로 인증서와 프로비저닝 프로파일을 비공개 Git 저장소에 두고, 팀이 공통으로 사용하는 방식을 추천합니다. 원격 Mac에서는 fastlane match readonly 한 번으로 동일한 서명 환경을 맞출 수 있어, “인증서를 찾을 수 없음” 같은 오류를 줄일 수 있습니다.
정리: 최신 기술과 해외 출시를 한 번에
원격 Mac mini에 GitLab Runner를 두면 개발 PC는 가볍게 쓰고, 빌드는 항상 같은 환경에서 자동으로 돌게 할 수 있습니다. VNCMac의 M4 기반 물리 Mac을 사용하면 로컬에서 30분 넘게 걸리던 전체 빌드가 수 분 단위로 줄어드는 경우가 많습니다. 최신 Apple Silicon 성능을 CI/CD에 그대로 쓸 수 있고, 한국에서도 해외 앱스토어·테스트플라이트 배포를 같은 파이프라인으로 처리할 수 있습니다.
아직 원격 Mac 기반 CI/CD를 쓰지 않았다면, 지금이 도입하기 좋은 시점입니다. 몇 단계만 설정하면 자동 빌드·배포의 이점을 바로 경험할 수 있습니다.