시작하기
GitHub Actions의 macOS 작업을 XenoCI 러너에서 실행하는 방법과 크레딧 요금, 격리, 제한 사항.
XenoCI는 GitHub Actions와 호환되는 Apple Silicon(M4) macOS 러너입니다. 작업마다 새 macOS VM을 만들고, 작업이 끝나면 지웁니다. 요금은 크레딧으로 계산합니다.
1. 크레딧과 요금
1크레딧은 M4 러너 1분입니다. 실행 시간은 초 단위로 차감하며 최소 과금은 없습니다. cicd-macos-m4는 1분에 1크레딧입니다.
- 플랜 포함 크레딧 — Free 100, Developer 1,000, Team 3,000, Growth 6,000, Business 10,000크레딧이 이용 기간(유료 플랜은 결제일부터 30일)마다 새로 채워집니다. 남은 크레딧은 다음 기간으로 넘어가지 않습니다. Enterprise는 문의해 주세요. Free 크레딧은 30일 이상 된 GitHub 계정을 연결하면 지급되고, GitHub 계정 하나와 XenoCI 계정 하나당 한 번만 받을 수 있습니다.
- 추가 크레딧 — 콘솔에서 크레딧 팩으로 구매합니다. 100크레딧 9,900원, 300크레딧(+30 보너스) 29,900원, 500크레딧(+100 보너스) 49,900원이며 구매한 크레딧은 만료되지 않습니다.
- 사용 순서 — 포함 크레딧을 항상 먼저 씁니다. 추가 크레딧은 포함 크레딧을 다 쓴 뒤, 추가 크레딧 사용을 켠 경우에만 씁니다. 이 설정은 기본으로 꺼져 있고, 꺼져 있으면 새 작업은 추가 요금 없이 대기합니다.
- 환불 — 결제한 플랜과 구매한 크레딧은 환불되지 않습니다. 저희 쪽 문제로 실패한 작업은 확인 후 그 작업에 쓴 크레딧을 돌려 드립니다.
콘솔의 사용량 화면에서 일별 사용량(한국 시간 기준)을 저장소·라벨별로 보고 CSV로 내려받을 수 있습니다. 월 사용 한도, 동시 실행 상한, 새 작업 배정 일시 중지도 여기서 설정합니다. 한도는 새 작업만 막고, 이미 실행 중인 작업은 끝까지 진행됩니다.
2. GitHub 연결과 워크플로
- 콘솔에서 GitHub 연결하기를 누르면 GitHub가 새 탭에서 열립니다. 개인 계정이나 조직에 XenoCI GitHub App을 설치하고 빌드할 저장소를 고르세요. 조직에 설치할 때는 조직 소유자의 승인이 필요할 수 있습니다.
- 워크플로 파일에서 macOS 작업의
runs-on을cicd-macos-m4로 바꿉니다. - push하면 GitHub가 그 작업을 XenoCI로 보냅니다. 작업마다 1회용 러너가 등록되고, 작업이 끝나면 VM과 함께 삭제됩니다. 다른 작업은 지금처럼 GitHub에서 실행됩니다.
어떤 저장소를 쓸지는 GitHub의 App 설치 화면에서 언제든 바꿀 수 있습니다. GitHub에서 저장소를 추가하면 잠시 후 콘솔에 나타나요 (저장소 관리자 권한 필요). 코드는 평소처럼 워크플로의 checkout 단계가 가져옵니다.
name: build
on: [push, workflow_dispatch]
jobs:
ios:
runs-on: cicd-macos-m4
steps:
- uses: actions/checkout@v4
- run: xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' test.github/workflows/build.yml 전체 예시 (scheme 이름은 프로젝트에 맞게 바꾸세요)
3. 시크릿 · OIDC · 아티팩트
- 저장소·조직 시크릿 — GitHub Actions secrets에 넣은 값은 GitHub가 작업에 넣어 줍니다. XenoCI 러너도 GitHub 호스팅 러너와 똑같이
secrets.*를 받습니다. - OIDC 클라우드 로그인 — 장기 토큰 없이 AWS·GCP·Azure 등에 배포하려면 OIDC와
permissions: id-token: write가 필요합니다. XenoCI는 GitHub가 발급한 OIDC 토큰을 그대로 전달합니다. - 아티팩트 · 캐시 —
actions/upload-artifact와actions/cache로 올린 데이터는 GitHub에 저장됩니다. XenoCI의 macOS VM은 작업이 끝나면 삭제됩니다.
4. 격리와 네트워크
작업마다 새 VM을 만들고 작업이 끝나면 삭제합니다. 러너는 인터넷에 직접 나갈 수 없고, 허용된 도메인에만 프록시를 거쳐 접속합니다. GitHub, npm, PyPI, crates.io, Go 프록시, Maven, Docker Hub, Ubuntu·Debian 패키지, Apple 개발자 도메인은 기본으로 허용되며, 사설 레지스트리는 콘솔 설정에서 허용 도메인으로 추가합니다.
5. 제한 사항
- 하드웨어:
cicd-macos-m4는 4 vCPU · 8 GiB이며 1분에 1크레딧입니다. - 게스트: macOS 26.6.2 · Xcode 26.2, 26.3, 26.4.1, 26.5, 26.6, 27.0. 기본 Xcode는 27.0입니다.
- 시간 제한: 작업 하나는 최대 60분입니다. 제한을 넘기면 작업이 종료되고, 실제로 실행한 시간만 차감됩니다.
- 암호화폐 채굴, 스팸, 스캔 등 빌드·테스트가 아닌 용도는 금지되며, 발견되면 계정의 CI 이용이 정지됩니다.