K

Deploy

Deployment, status, logs, rollback, staging, and verification commands

This page is for running deploys, watching their progress, digging into failures, and rolling back when something goes wrong. The everyday flow is deploy create --executedeploy status (or deploy watch) → and, when there's a problem, deploy diagnose · deploy logs. Agents and CI can settle the final success/failure verdict inside a single call with deploy verify --wait. The full picture of the deploy pipeline plus staging and rollback strategy is covered in the deploy guide.

axhub deploy

Deploy apps via git, view deployments, logs, status, and rollback.

FlagTypeDescriptionDefault
--explainbooleanExplain the local deploy spec from axhub.yaml without contacting the server

axhub deploy cancel

Cancel an in-progress deployment (dry-run by default; use --execute).

FlagTypeDescriptionDefault
<deployment_id>string (positional)
--appstringApp slug or ID to operate on.
--dry-runbooleanPreview 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 --executetrue
--executebooleanApply the state-changing operation instead of previewing it.

axhub deploy codes

List deployment status codes and their meanings.

(no options)

axhub deploy create

Trigger a deployment for an app (dry-run by default; use --execute).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--commitstring
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.
--force-rebuildboolean
--no-retrybooleanDisable timeout auto-retry for this mutation

axhub deploy diagnose

Diagnose an app's live rollout health.

FlagTypeDescriptionDefault
<app>string (positional)App slug or ID to operate on.

axhub deploy doctor

Diagnose an app's deployment readiness.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.

axhub deploy explain

Explain how axhub deploy resolves config, auth, and the target app.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.

axhub deploy fleet

Deploy a fleet of apps in parallel (dry-run by default; use --execute).

FlagTypeDescriptionDefault
--appsstringComma-separated app slug/id list
--commitstringCommit SHA to deploy for every app
--concurrencyintegerMaximum apps deployed in parallel10
--dry-runbooleanDry-run preview is the defaulttrue
--executebooleanExecute all deployment mutations
--tenantstringTenant slug/id for diagnostics and future backend quota preflight

axhub deploy git

Manage an app's git deployment connection.

axhub deploy git configure

Configure an app's git deployment connection (dry-run by default; use --execute).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--branchstring
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.
--installation-idinteger
--repostring
--updateboolean

axhub deploy git connect

Connect an app to its configured git repository.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.

axhub deploy git disconnect

Disconnect an app from its git repository.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.

axhub deploy git status

Show an app's git connection status.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.

axhub deploy list

List an app's deployment history.

FlagTypeDescriptionDefault
--allboolean
--all-appsboolean
--appstringApp slug or ID to operate on.
--ndjsonboolean
--pageintegerPagination control for list output.
--page-sizeintegerPagination control for list output.
--per-pageintegerPagination control for list output.

axhub deploy logs

View logs for a deployment.

FlagTypeDescriptionDefault
<deployment_id>string (positional)Legacy deployment id. Runtime logs are now scoped to the app-level backend logs route
--appstringApp slug or ID to operate on.
--followboolean
--limitintegerPage size (1-1000, default 100)
--reconnect-attemptsintegerPoll additional cursor pages this many times in follow mode0
--sincestringShow logs since this time (RFC3339)
--sourcestringAccepted for compatibility; app logs are not server-side filtered
--untilstringShow logs until this time (RFC3339)

axhub deploy promote

Manage staging promotions.

axhub deploy promote retry

Retry a failed promotion request (dry-run by default).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.
--requeststring

axhub deploy promote-preflight

Preview staging promotion changes without side effects.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--deployment-idstring

axhub deploy releases

List an app's release history.

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--limitintegerMaximum releases to request
--offsetintegerOffset into release history

axhub deploy rollback

Roll back to a previous deployment (dry-run by default; use --execute).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--confirm-schema-skewbooleanAcknowledge that rollback does not revert already-applied destructive schema changes
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.
--from-deploymentstring

axhub deploy scan

Show a deployment's security scan report. The verdict is one of four — pass · blocked · scanner_error · not_scanned — where not_scanned means there is no evidence yet: you get an empty report, not a 404. With --json you get the full report including the agent-opinion entries.

FlagTypeDescriptionDefault
--appstringApp id or slug. Required unless a subcommand is used
--deployment-idstringDeployment UUID (from axhub deploy list)

Consent for the scan pipeline sending source code to an external LLM reviewer is managed with axhub apps inspection-consent. LLM opinions are advisory; blocking verdicts come from the deterministic scanner.

axhub deploy scan report-false-positive

Report one scan finding as a false positive. It is feedback only and does not change the scanner verdict — a blocked deployment stays blocked.

FlagTypeDescriptionDefault
--appstringApp id or slug
--deployment-idstringDeployment UUID that produced the finding
--finding-idstringFinding id from the scan report (findings[].id, <scanID>.<ordinal>), not the rule id
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.

axhub deploy staging

Manage an app's staging environment.

axhub deploy staging disable

Disable an app's staging environment (dry-run by default).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.

axhub deploy staging enable

Enable an app's staging environment (dry-run by default).

FlagTypeDescriptionDefault
--appstringApp slug or ID to operate on.
--dry-runbooleanPreview the operation without applying state changes.true
--executebooleanApply the state-changing operation instead of previewing it.

axhub deploy status

Show the latest deployment status for an app.

FlagTypeDescriptionDefault
<deployment_id>string (positional)
--appstringApp slug or ID to operate on.
--watchboolean
--watch-intervalstringPoll interval such as 2s, 10s, 1m. Requires a unit suffix (s, m, h)
--watch-timeoutstringMaximum watch duration such as 30m, 1h. Requires a unit suffix (s, m, h)

axhub deploy verify

Verify that a specific deployment finished successfully (배포 검증).

FlagTypeDescriptionDefault
<deployment_id>string (positional)검증할 배포 ID (필수). 이 ID 의 배포만 판정하고, 최신 배포를 다시 찾지 않아요
--appstring배포가 속한 앱 (slug 또는 UUID)
--waitboolean같은 배포 ID가 끝날 때까지 이 명령 안에서 제한적으로 기다려요. 예산이 끝나면 기존 pending JSON · exit 6 계약 그대로 반환해요
--wait-intervalstring--wait 확인 간격. 예: 2s, 10s, 1m (1s~60s)10s
--wait-timeoutstring--wait 최대 대기 시간. 예: 10m, 1h (최대 24h)10m

axhub deploy watch

Watch a deployment until it reaches a terminal state.

FlagTypeDescriptionDefault
<deployment_id>string (positional)Deployment id to watch
--appstringApp id or slug
--no-tuibooleanForce flat output. TUI support is reserved for a future visual pass
--reconnect-attemptsintegerRetained 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 timeout3
--sourcestringLog label: build, pod, events, pod-events, or all. Backend app logs are not source-filteredall
--watch-intervalstringStatus poll interval such as 2s, 10s, 1m. Currently used for validation/future TUI polling
--watch-timeoutstringMaximum watch duration. Defaults to 30m