배포
배포 실행 · 상태 · 로그 · 롤백 · 스테이징 · 검증 명령
배포를 실행하고, 진행 상태를 지켜보고, 실패 원인을 파고들고, 잘못됐으면 되돌릴 때 이 페이지를 봐요. 일상 흐름은 deploy create --execute → deploy status(또는 deploy watch) → 문제가 있으면 deploy diagnose · deploy logs 순이에요. 에이전트 · CI라면 deploy verify --wait로 한 번의 호출 안에서 최종 성공 · 실패를 판정할 수 있어요. 배포 파이프라인의 전체 그림과 스테이징 · 롤백 전략은 배포 가이드에서 다뤄요.
axhub deploy
앱을 배포하고 배포를 관리해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--explain | boolean | Explain the local deploy spec from axhub.yaml without contacting the server | — |
axhub deploy cancel
진행 중인 배포를 취소해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<deployment_id> | string (인자) | — | — |
--app | string | App slug or ID to operate on. | — |
--dry-run | boolean | Preview only. Cancel is honored by the backend at deployment stage boundaries, so an in-flight build can take several minutes to flip to cancelled after --execute | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
axhub deploy codes
배포 상태 · 에러 코드를 설명해요.
(옵션 없음)
axhub deploy create
새 배포를 시작해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--commit | string | — | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
--force-rebuild | boolean | — | — |
--no-retry | boolean | Disable timeout auto-retry for this mutation | — |
axhub deploy diagnose
앱의 라이브 롤아웃 상태를 진단해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<app> | string (인자) | App slug or ID to operate on. | — |
axhub deploy doctor
앱의 배포 환경을 진단해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
axhub deploy explain
배포가 어떻게 해석되는지 설명해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
axhub deploy fleet
여러 앱을 한 번에 배포해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--apps | string | Comma-separated app slug/id list | — |
--commit | string | Commit SHA to deploy for every app | — |
--concurrency | integer | Maximum apps deployed in parallel | 10 |
--dry-run | boolean | Dry-run preview is the default | true |
--execute | boolean | Execute all deployment mutations | — |
--tenant | string | Tenant slug/id for diagnostics and future backend quota preflight | — |
axhub deploy git
자동 배포(GitHub 연결)를 관리해요.
axhub deploy git configure
자동 배포 설정을 변경해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--branch | string | — | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
--installation-id | integer | — | — |
--repo | string | — | — |
--update | boolean | — | — |
axhub deploy git connect
자동 배포용 저장소를 연결해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
axhub deploy git disconnect
자동 배포 연결을 끊어요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
axhub deploy git status
자동 배포 상태를 확인해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
axhub deploy list
배포 목록을 봐요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--all | boolean | — | — |
--all-apps | boolean | — | — |
--app | string | App slug or ID to operate on. | — |
--ndjson | boolean | — | — |
--page | integer | Pagination control for list output. | — |
--page-size | integer | Pagination control for list output. | — |
--per-page | integer | Pagination control for list output. | — |
axhub deploy logs
빌드 · 런타임 로그를 봐요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<deployment_id> | string (인자) | Legacy deployment id. Runtime logs are now scoped to the app-level backend logs route | — |
--app | string | App slug or ID to operate on. | — |
--follow | boolean | — | — |
--limit | integer | Page size (1-1000, default 100) | — |
--reconnect-attempts | integer | Poll additional cursor pages this many times in follow mode | 0 |
--since | string | Show logs since this time (RFC3339) | — |
--source | string | Accepted for compatibility; app logs are not server-side filtered | — |
--until | string | Show logs until this time (RFC3339) | — |
axhub deploy promote
스테이징 승격을 관리해요.
axhub deploy promote retry
실패한 승격 요청을 다시 시도해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
--request | string | — | — |
axhub deploy promote-preflight
스테이징 승격 변경사항을 부작용 없이 미리 확인해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--deployment-id | string | — | — |
axhub deploy releases
앱 릴리즈 이력을 봐요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--limit | integer | Maximum releases to request | — |
--offset | integer | Offset into release history | — |
axhub deploy rollback
이전 배포로 롤백해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--confirm-schema-skew | boolean | Acknowledge that rollback does not revert already-applied destructive schema changes | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
--from-deployment | string | — | — |
axhub deploy scan
배포의 보안 스캔 리포트를 봐요. 판정(verdict)은 pass · blocked · scanner_error · not_scanned 넷 중 하나예요 — not_scanned는 아직 근거가 없다는 뜻으로, 404가 아니라 빈 리포트가 나와요. --json이면 에이전트 의견 항목까지 전체 리포트를 받아요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App id or slug. Required unless a subcommand is used | — |
--deployment-id | string | Deployment UUID (from axhub deploy list) | — |
스캔 파이프라인이 소스 코드를 외부 LLM 리뷰어에 보내는 것에 대한 동의는 axhub apps inspection-consent로 관리해요. LLM 의견은 참고용이고, 차단 판정은 결정적 스캐너가 내려요.
axhub deploy scan report-false-positive
스캔 finding 하나를 오탐(false positive)으로 리포트해요. 피드백일 뿐 스캐너 판정은 바뀌지 않아요 — 차단된 배포는 계속 차단돼요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App id or slug | — |
--deployment-id | string | Deployment UUID that produced the finding | — |
--finding-id | string | Finding id from the scan report (findings[].id, <scanID>.<ordinal>), not the rule id | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
axhub deploy staging
앱 스테이징 환경을 관리해요.
axhub deploy staging disable
스테이징 환경을 꺼요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
axhub deploy staging enable
스테이징 환경을 켜요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
--app | string | App slug or ID to operate on. | — |
--dry-run | boolean | Preview the operation without applying state changes. | true |
--execute | boolean | Apply the state-changing operation instead of previewing it. | — |
axhub deploy status
배포 상태를 확인해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<deployment_id> | string (인자) | — | — |
--app | string | App slug or ID to operate on. | — |
--watch | boolean | — | — |
--watch-interval | string | Poll interval such as 2s, 10s, 1m. Requires a unit suffix (s, m, h) | — |
--watch-timeout | string | Maximum watch duration such as 30m, 1h. Requires a unit suffix (s, m, h) | — |
axhub deploy verify
특정 배포가 성공적으로 끝났는지 검증해요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<deployment_id> | string (인자) | 검증할 배포 ID (필수). 이 ID 의 배포만 판정하고, 최신 배포를 다시 찾지 않아요 | — |
--app | string | 배포가 속한 앱 (slug 또는 UUID) | — |
--wait | boolean | 같은 배포 ID가 끝날 때까지 이 명령 안에서 제한적으로 기다려요. 예산이 끝나면 기존 pending JSON · exit 6 계약 그대로 반환해요 | — |
--wait-interval | string | --wait 확인 간격. 예: 2s, 10s, 1m (1s~60s) | 10s |
--wait-timeout | string | --wait 최대 대기 시간. 예: 10m, 1h (최대 24h) | 10m |
axhub deploy watch
배포가 끝날 때까지 상태를 지켜봐요.
| 플래그 | 타입 | 설명 | 기본값 |
|---|---|---|---|
<deployment_id> | string (인자) | Deployment id to watch | — |
--app | string | App id or slug | — |
--no-tui | boolean | Force flat output. TUI support is reserved for a future visual pass | — |
--reconnect-attempts | integer | Retained for compatibility (no-op for watch streaming). Unlike deploy logs, this does NOT keep the stream alive under a non-interactive/agent context — use --watch-interval/--watch-timeout for an explicit bounded stream. Polling otherwise continues until terminal status or timeout | 3 |
--source | string | Log label: build, pod, events, pod-events, or all. Backend app logs are not source-filtered | all |
--watch-interval | string | Status poll interval such as 2s, 10s, 1m. Currently used for validation/future TUI polling | — |
--watch-timeout | string | Maximum watch duration. Defaults to 30m | — |