결과물 내려받기
잡이 남긴 ipa, xcarchive, xcresult를 콘솔, CLI, MCP, API에서 받는 방법과 보관 규칙
잡을 보낼 때 artifacts에 적은 경로가 잡이 끝난 뒤 결과물로 모입니다. 결과물은 7일 보관되고 콘솔, xenocast artifacts, MCP logs, REST API로 받습니다
결과물 지정
artifacts는 작업 폴더 기준 경로 글롭의 목록입니다. 50개까지 적을 수 있습니다
| 경로 | 설명 |
|---|---|
| CLI | xenocast build --script ./ci.sh --artifacts 'build/*.ipa,build/*.xcarchive' |
MCP build | "artifacts": ["build/*.ipa", "TestResults.xcresult"] |
| 액션 | artifacts: build/*.ipa(쉼표로 여러 개) |
API POST /v1/jobs | "artifacts": ["build/*.ipa"] |
규칙
- 글롭에 맞는 파일을 모읍니다. 폴더(
App.xcarchive,TestResults.xcresult)는 zip으로 묶여App.xcarchive.zip처럼 저장됩니다 - 잡 하나당 파일 20개, 합계 2GB까지입니다
- 결과물마다
sha256이 기록됩니다
콘솔
- 실행 → 잡에서 잡을 열면 결과물 목록과 내려받기 아이콘이 있습니다
- 빌드 → 파일은 워크스페이스의 모든 업로드와 결과물을 한 곳에서 보여 주고, 내려받거나 바로 지울 수 있습니다
- 플레이그라운드의 결과 칸에서도 그 잡의 결과물을 바로 받습니다
CLI
xenocast artifacts job_Ab12Cd34
xenocast artifacts job_Ab12Cd34 --out ./dist첫 명령은 목록을 JSON으로 출력하고, --out을 주면 모든 결과물을 그 폴더에 저장합니다
[xenocast] App.xcarchive.zip 48.2MB → ./dist빌드와 받기를 한 번에 하려면 --json으로 잡 ID를 받습니다
xenocast build --script ./archive.sh --artifacts 'App.xcarchive' --json > result.json
xenocast artifacts "$(jq -r .id result.json)" --out ./distMCP
logs 도구에 artifacts: true를 주면 로그와 함께 결과물을 out 폴더(기본 ./xenocast-logs)에 받고 각 파일의 경로, 바이트, sha256을 돌려줍니다
{"name":"logs","arguments":{"id":"job_Ab12Cd34","out":"./dist","artifacts":true}}API
목록
curl -sS https://xenoci.com/api/runner/v1/jobs/job_Ab12Cd34/artifacts \
-H "Authorization: Bearer $XENOCI_API_KEY" -H 'XenoCI-Error-Format: 2'{
"data": [
{ "id": "art_...", "name": "App.xcarchive.zip", "path": "App.xcarchive", "bytes": 50532864, "sha256": "…", "expires_at": "2026-10-18T03:02:45.000Z" }
]
}내려받기
GET /v1/jobs/{job_id}/artifacts/{artifact_id}는 302로 짧게 유효한 내려받기 주소(/api/runner/downloads/<token>)를 돌려줍니다. 그 주소에는 Authorization 헤더를 보내지 않습니다. 링크는 15분 동안만 유효하므로 받을 때마다 다시 요청합니다
curl -sS -L -o App.xcarchive.zip \
https://xenoci.com/api/runner/v1/jobs/job_Ab12Cd34/artifacts/art_... \
-H "Authorization: Bearer $XENOCI_API_KEY"권한은 read 키로 충분합니다. 다른 워크스페이스의 잡은 404입니다
보관과 삭제
| 항목 | 기간 |
|---|---|
올린 소스(upl_…) | 잡이 끝나면 바로 삭제, 쓰이지 않으면 24시간 뒤 삭제 |
결과물(art_…) | 잡이 끝난 뒤 7일, expires_at에 표시 |
| 내려받기 링크 | 15분 |
| 잡 로그 | 잡당 5MB까지 보관 |
기간 전에 지우려면 콘솔 파일에서 지우거나 DELETE /v1/files/{file_id}(run 키)를 부릅니다. 지난 결과물은 not_found(artifact not found or expired)로 답합니다
다음 단계
- xenocast CLI 레퍼런스:
artifacts와build --artifacts - GitHub Actions: 결과물을 GitHub Artifacts로 옮기는 예