콘솔에서 빌드
플레이그라운드에서 스크립트를 바로 돌려 보고, 파일과 환경, 배치를 콘솔에서 다루는 방법
콘솔의 빌드 메뉴에서 설치 없이 잡을 돌려 볼 수 있습니다. 플레이그라운드 잡도 일반 잡과 같은 경로로 접수되고 같은 요율로 과금됩니다
플레이그라운드
빌드 → 플레이그라운드(/console/workspaces/<워크스페이스>/playground)
- 러너는 macOS M4 표준(Apple M4, vCPU 4, 7GB) 하나입니다
- Xcode를 고릅니다. 비우면 워크스페이스 기본 Xcode로 시작합니다
- 스크립트에 VM에서 실행할 셸을 적습니다. 예:
xcodebuild -version - 환경 변수는 한 줄에 하나씩
이름=값으로 적습니다. 예:XENOCI_SCHEME=App - 실행하면 오른쪽 결과 칸에 로그가 흐르고, 끝나면 결과물을 내려받을 수 있습니다
템플릿으로 시작하기에는 예시 4개(러너 확인하기, Swift 패키지 테스트, iOS 시뮬레이터 빌드, 이전 Xcode로 확인)가 있고, 누르면 스크립트와 환경 변수가 채워집니다. 작성 칸의 레시피 목록에서 워크스페이스 레시피를 고르거나, 레시피 화면의 실행 아이콘(?recipe=<id>)으로 열 수도 있습니다
플레이그라운드 잡의 기본 제한 시간은 30분이고, 잡 목록에는 source_kind = playground로 표시됩니다
플레이그라운드는 소스를 올리는 칸이 없습니다. 저장소를 빌드하려면 스크립트 안에서 git clone을 하거나, 소스를 올려야 하는 경우 CLI의 xenocast build --dir를 씁니다
서버 API는 POST /v1/organizations/{org_id}/workspaces/{workspace_id}/playground/runs이고 콘솔 세션 전용입니다(API 키로는 console_only)
| 필드 | 설명 |
|---|---|
script | 필수, 65,536자까지 |
xcode | 환경 화면에 있는 버전 중 하나 |
runner | macos-m4(기본) |
timeout_minutes | 1~360, 기본 30 |
env | 이름과 문자열 값 |
artifacts | 결과물 경로 글롭, 50개까지 |
잡
실행 → 잡(/console/workspaces/<워크스페이스>/jobs)에서 이 워크스페이스의 잡을 상태, 소스, 과금 분, 금액과 함께 봅니다. 잡을 열면 로그와 결과물이 나오고, 결과물은 내려받기 아이콘으로 받습니다. 취소하면 VM을 바로 지우고 지금까지 실행한 분만 과금합니다
| 상태 | 뜻 |
|---|---|
queued | 접수됨, queued_reason이 tier_concurrency_limit(동시 실행 한도) 또는 capacity(용량 대기) |
preparing | VM 준비 중, 아직 과금 전 |
running | 스크립트 실행 중, 과금 중 |
succeeded | 종료 코드 0 |
failed | 스크립트가 0이 아닌 코드로 끝남 |
cancelled | 취소됨 |
credit_exhausted | 잔액이 떨어져 분 경계에서 멈춤 |
timed_out | 제한 시간 초과 |
platform_error | 플랫폼 장애, 과금하지 않음 |
파일
빌드 → 파일(/console/workspaces/<워크스페이스>/files)은 올린 소스 묶음과 잡이 남긴 결과물 목록입니다
- 파일 업로드: tar.gz나 zip 한 개, 2GB까지. 올린 소스는 잡 하나에 쓰이고 1일 뒤 지워집니다
- 결과물은 잡이 끝난 뒤 7일 보관되고, 여기서 내려받거나 바로 지울 수 있습니다
- 대기 중이거나 실행 중인 잡이 쓰는 파일은 지울 수 없습니다
환경
실행 → 환경(/console/workspaces/<워크스페이스>/environments)은 러너 환경 macos-m4의 베이스 이미지, Xcode 목록(기본값 표시), 시뮬레이터 런타임, 지금 빈 슬롯이 있는지(available, busy, unavailable)를 보여 줍니다
기본 Xcode 지정으로 이 워크스페이스에서 xcode를 정하지 않은 잡이 쓸 버전을 고릅니다. 잡의 Xcode는 요청 값, 레시피 기본값, 워크스페이스 기본값, 이미지 기본값 순으로 정해집니다
배치
빌드 → 배치(/console/workspaces/<워크스페이스>/batches)는 Xcode 버전, 시뮬레이터, 스킴 조합마다 잡을 하나씩 한 번에 돌립니다
- 축은
xcode(10개까지),simulator(20개까지),scheme(20개까지)이고 한 배치는 잡 20개까지입니다 - 조합 값은 잡에 환경 변수
XENOCI_XCODE,XENOCI_SIMULATOR,XENOCI_SCHEME으로 들어갑니다. 기본 레시피는 이 변수를 읽습니다 - 소스는 git 저장소만 받습니다(올린 묶음은 잡 하나에만 쓰이기 때문)
- 동시에 도는 잡 수는 조직 티어의 동시 실행 한도를 따릅니다
- 잔액이 모든 조합의 1분 요금을 덮지 못하면 뒤쪽 조합부터
insufficient_credit로 거절됩니다
API는 POST /v1/batches, GET /v1/batches, GET /v1/batches/{batch_id}, POST /v1/batches/{batch_id}/cancel이고 API 키(run)로도 부릅니다
다음 단계
- 레시피: 반복해서 쓰는 스크립트를 저장하고
recipe_id로 부르기 - 결과물 내려받기: 콘솔, CLI, MCP, API에서 결과물 받기
- xenocast CLI 레퍼런스: 폴더를 올려서 빌드하기