사무실 맥 미니를 GitHub 자체 호스팅 러너로 등록해 두면 처음에는 편하지만, macOS와 Xcode 업데이트, 디스크 정리, 전원과 잠자기, 러너 프로그램 업데이트를 누군가 계속 챙겨야 해요, 이 글은 그 맥에서 돌던 잡을 runs-on 한 줄로 XenoCI에 옮기는 순서예요
준비
- 콘솔에 GitHub로 로그인해요, 가입은 GitHub 로그인만 받아요
- 처음 나오는 조직 연결에서 GitHub 조직에 XenoCI 앱을 설치하고 빌드할 저장소를 골라요
- 지금 쓰는 자체 호스팅 러너는 그대로 두세요, 옮기는 동안 두 쪽을 함께 쓸 수 있어요
바꾸는 줄
jobs:
build:
- runs-on: [self-hosted, macOS, ARM64]
+ runs-on: xenoci-standard
steps:
- uses: actions/checkout@v4
- run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 17e' test[self-hosted, macOS, ARM64]처럼 라벨 묶음을 쓰셨다면 묶음 전체를 xenoci-standard 하나로 바꿔요, 직접 붙인 라벨(예: office-mac)도 같이 지워야 잡이 XenoCI로 와요
콘솔 GitHub Actions → 마이그레이션 마법사를 쓰시면 저장소와 macOS 잡을 고르고 변경 내용을 확인한 뒤 PR까지 만들어 줘요
그 맥에만 있던 것을 워크플로로 옮기기
XenoCI 잡은 매번 같은 이미지에서 시작해서, 사무실 맥에 손으로 깔아 둔 것은 따라오지 않아요, 옮기기 전에 워크플로가 그 맥의 상태에 기대는 곳을 찾아 주세요
- 서명 인증서와 프로비저닝 프로필: 키체인에 넣어 둔 것은 저장소 Secrets에 base64로 넣고 잡 안에서 임시 키체인에 가져와요, fastlane match를 쓰셨다면 그대로 써요
- Homebrew로 깐 도구: 이미지에 없는 것은
brew install스텝으로 워크플로에 적어 두세요 - Xcode 버전: 그 맥에 깔린 버전 대신 잡마다 27.0과 26.6 중에서 골라요
/Users/내이름/...처럼 그 맥의 경로를 직접 적은 스텝은$GITHUB_WORKSPACE나$HOME기준으로 바꿔요- 그 맥 디스크에 쌓여 있던 DerivedData나 Pods 폴더에 기대던 빌드는
actions/cache로 바꿔요, 저장소는 XenoCI 캐시로 바뀌고 조직당 25GB 무료, 7일 동안 안 쓰면 지워져요
옮기는 순서
- 잡 하나만 먼저
xenoci-standard로 바꾸고 PR에서 돌려 봐요 - 로그에서 빠진 도구나 서명 오류가 나오면 위 목록대로 스텝을 더해요
- 나머지 macOS 잡을 하나씩 옮겨요
- 더 이상 그 맥으로 가는 잡이 없으면 저장소나 조직 Settings → Actions → Runners에서 자체 호스팅 러너를 지워요
요금과 사양
- 맥은 시작한 분마다 50원 부가세 포함이고, VM은 vCPU 5, 메모리 7GB예요
- 무료 제공 금액은 없고 충전한 만큼만 써요, 조직의 첫 충전은 2배로 적립해요(최대 100,000원 추가), 동시 실행 제한은 없어요
- 자동 결제는 없고 카드 정보도 저장하지 않아요, 충전은 콘솔에서 5,000원부터 선불로 해요
같은 워크플로를 GitHub 기본 러너와 나란히 잰 빌드 시간은 아래 측정 글에 있어요, 사무실 맥과는 사양이 달라 직접 한 번씩 돌려 보시는 게 가장 정확해요
옮기다 막힌 스텝을 알려 주시면 로그를 같이 볼게요