본문으로 건너뛰기

기능 개요

XenoCI macOS 러너가 잡 하나를 받아 끝낼 때까지 제공하는 기능과 각 기능을 어디서 쓰는지 한눈에 봅니다

XenoCI 러너는 셸 스크립트 하나를 새 macOS VM에서 실행하고 실행한 분만큼 선불 크레딧에서 차감하는 CI 러너이며, 아래 표의 모든 기능은 이 한 줄을 돕는 장치입니다

잡 하나의 흐름

  1. 소스를 정합니다 (폴더 업로드 또는 공개 git 저장소)
  2. 스크립트와 Xcode 버전, 제한 시간, 환경 변수, 모을 결과물 경로를 담아 잡을 제출합니다
  3. 잡은 queued 상태로 접수되고, 빈 VM 슬롯이 나면 preparing을 거쳐 running이 됩니다
  4. 스크립트가 끝나면 종료 코드에 따라 succeeded 또는 failed가 되고, VM은 바로 지워집니다
  5. 로그와 결과물을 내려받고, 과금된 분과 금액을 확인합니다

VM 준비 시간(preparing)은 과금하지 않고, 스크립트가 시작한 순간부터 끝난 순간까지의 초를 1분 단위로 올림해 과금합니다

기능과 진입점

기능APICLI (xenocast)콘솔 메뉴
잡 제출POST /v1/jobsbuild --script ./ci.sh빌드 → 플레이그라운드
잡 조회, 목록GET /v1/jobs/{job_id}, GET /v1/jobsstatus, jobs실행 → 잡
취소POST /v1/jobs/{job_id}/cancelcancel실행 → 잡
로그 스트리밍GET /v1/jobs/{job_id}/logs?offset=logs --wait실행 → 잡
소스 업로드POST /v1/uploadsbuild --dir ./app빌드 → 파일
결과물GET /v1/jobs/{job_id}/artifactsartifacts --out ./dist빌드 → 파일
배치 빌드POST /v1/batches없음빌드 → 배치
레시피GET /v1/recipes, 잡 제출의 recipe_id없음빌드 → 레시피
Xcode와 런타임 목록GET /v1/environments없음실행 → 환경
잔액, 사용량GET /v1/balance, GET /v1/usagecredits, usage분석 → 사용량, 비용
한도GET /v1/limits, GET /v1/tiers없음분석 → 한도

MCP 서버(xenocast mcp)는 build, status, cancel, logs, whoami, credits, usage 일곱 도구를 제공하고, GitHub Actions는 xeno-ci/build 액션 한 단계로 같은 API를 부릅니다

인증 한 가지

CLI, MCP, GitHub Actions, 직접 호출 모두 콘솔에서 발급한 API 키(xci_live_…) 하나로 인증합니다

키는 워크스페이스 하나에 묶이고 권한은 run(잡 제출과 조회) 또는 read(조회만)입니다

결제, 키 발급, 멤버 관리는 어떤 키로도 할 수 없고 콘솔 로그인(Google 또는 이메일)으로만 합니다

export XENOCI_API_KEY=xci_live_...
curl -s https://xenoci.com/api/runner/v1/me \
  -H "Authorization: Bearer $XENOCI_API_KEY"

과금과 한도 요약

  • 요금은 분당 US$0.0396(부가세 포함, 정가 US$0.078의 49% 할인)이고, 잡이 대기열을 떠나는 순간의 요율이 그 잡에 고정됩니다
  • 제출 시 사용 가능 잔액이 1분 요금보다 적으면 402 insufficient_credit으로 거절합니다
  • 실행 중 조직 잔액이 다음 1분을 감당하지 못하면 분 경계에서 잡을 멈추고 credit_exhausted로 끝냅니다
  • 조직 티어의 동시 실행 한도를 넘는 잡은 거절하지 않고 대기열(queued_reason: tier_concurrency_limit)에 넣습니다
  • 워크스페이스 월 지출 한도와 티어 월 한도에 닿으면 새 잡만 402로 거절하고 실행 중인 잡은 끝까지 돕니다

다음 단계