이 글은 직접 Mac을 준비해 self-hosted runner를 등록하는 방법을 먼저 적습니다. 관리형 러너가 필요할 때만 아래에서 XenoCI를 짧게 소개합니다. 기준일(data_asof): 2026-10-01.
1. 내 Mac에 self-hosted runner 등록
- 저장소 또는 조직 Settings → Actions → Runners → New self-hosted runner를 엽니다.
- 운영체제는 macOS, 아키텍처는 Apple Silicon이면 ARM64를 고릅니다.
- 안내에 따라 러너 패키지를 내려받아 폴더에 풉니다.
- 같은 화면의 토큰으로
./config.sh --url <저장소-또는-조직-URL> --token <토큰>을 실행해 등록합니다. ./run.sh로 러너를 띄웁니다. Mac이 잠자기·로그아웃되면 잡이 안 받을 수 있으니 전원·로그인 상태를 유지합니다. 서비스로 상주시키려면 GitHub Docs의 “Configuring the self-hosted runner application as a service”를 따릅니다.- Xcode·시뮬레이터·서명 인증서·의존성은 그 Mac에 직접 설치·갱신합니다. 잡마다 디스크가 비워지지 않으므로 시크릿·산출물 잔존에 주의합니다.
2. 워크플로 runs-on 예시 (직접 등록)
러너에 실제로 붙은 라벨과 동일해야 합니다. Apple Silicon 기본 라벨을 쓰는 예입니다.
name: build
on: [push, workflow_dispatch]
jobs:
ios:
runs-on: [self-hosted, macOS, ARM64]
steps:
- uses: actions/checkout@v4
- run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' test3. 직접 운영 vs 관리형 (사실 표)
속도 비교 수치는 쓰지 않습니다. 아래는 공개 문서와 rates.js에서 확인한 사실만 적습니다. 기준일: 2026-10-01.
| 항목 | 직접 self-hosted (내 Mac) | XenoCI (관리형) |
|---|---|---|
| 하드웨어 | 본인 Mac (상시 전원·네트워크) | Apple Silicon M4, 4 vCPU · 8 GiB, 잡마다 새 VM |
| runs-on | self-hosted (+ macOS·ARM64 등) | xenoci-macos 하나 |
| Xcode | Mac에 직접 설치·선택 | 이미지에 설치됨. 워크플로에서 xcode-select / DEVELOPER_DIR |
| GitHub 분 과금 | self-hosted 분은 GitHub 미과금 | 동일(셀프 호스팅으로 취급) |
| 러너 요금 | GitHub 분 요금 없음(전기·Mac 비용은 본인) | 1크레딧 = M4 1분 = 100원, 초 단위, 최소 요금 없음 |
| 무료·구매 크레딧 | 해당 없음 | 매월 무료 100크레딧(이월 없음, GitHub 계정 ≥30일). 구매·증정 크레딧은 구매일로부터 1년 유효(이후 잔여 소멸) |
| GitHub 호스팅 참고 단가 | 표준 macOS $0.062/분 | 분당 정가 100원은 $0.062/분보다 비쌈 |
분 단가만 보면 XenoCI 정가 100원은 GitHub 호스팅 표준 macOS($0.062/분)보다 싸지 않습니다. 차이는 월 구독 없음, 구매일로부터 1년 쓰는 선불 크레딧, 매월 무료 100크레딧, 초 단위 과금, 잡마다 새 Apple Silicon M4 VM입니다. (docs·changelog 2026-09-30 정정·rates.js, data_asof 2026-10-01)
4. 관리형이 필요할 때: XenoCI 한 줄
Mac을 상시 켜 두기 어렵거나 잡마다 새 VM이 필요하면, GitHub에 XenoCI 앱을 설치하고 워크플로의 runs-on만 xenoci-macos로 바꿉니다. 연결 순서는 GitHub Actions 연동과 시작하기에 있습니다.
name: build
on: [push, workflow_dispatch]
jobs:
ios:
runs-on: xenoci-macos
steps:
- uses: actions/checkout@v4
- run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' test5. 다음에 볼 문서
연동은 GitHub Actions 연동, 크레딧·격리는 시작하기, 이미지·Xcode는 러너 이미지 개요, 분 과금 비교는 GitHub Actions와 비교와 자주 묻는 질문에 있습니다.
자주 묻는 질문
self-hosted 러너 runs-on은 어떻게 쓰나요?
러너에 붙은 라벨과 맞춥니다. 기본으로 self-hosted·macOS·ARM64(Apple Silicon)가 붙는 경우가 많고, 등록 때 커스텀 라벨을 추가할 수도 있습니다. 예: runs-on: [self-hosted, macOS, ARM64]. (GitHub Docs, data_asof 2026-10-01)
self-hosted면 GitHub Actions 분이 무료인가요?
self-hosted 러너로 돌린 분은 GitHub가 과금하지 않습니다. 저장 공간 같은 다른 GitHub 요금은 GitHub 정책을 따릅니다. XenoCI도 셀프 호스팅 러너로 취급됩니다. (/faq·/compare/github-actions, data_asof 2026-10-01)
Mac을 직접 두지 않고 쓰려면?
관리형 선택지로 XenoCI를 쓸 수 있습니다. GitHub에 XenoCI 앱을 설치한 뒤 runs-on을 xenoci-macos로 바꿉니다. 라벨은 하나뿐이고, Xcode는 워크플로 안에서 xcode-select 또는 DEVELOPER_DIR로 고릅니다. (/docs/getting-started·러너 이미지, data_asof 2026-10-01)