Manage deployments
Read deploy status, deploy automatically on push, find the failure point in logs, and roll back to a previous version.
Once your app is up, you need to see where it stands and be able to find the cause and undo it when something breaks.
This covers reading deploy status, wiring up automatic deploys, finding failure points in logs, and rolling back.
Reading deploy status
The deploy status shown in the app console and app list tells you whether the code is actually up. It's one of four values.
| Deploy status | What it means |
|---|---|
| Not deployed | No successful deploy yet — the app exists but no code is running |
| Deployed | Set automatically once the first deploy succeeds — the code is up and reachable |
| Suspended | Taken down — bringing it back redeploys the last successful deploy automatically |
| Archived | An archived app — it doesn't run until restored |
A successful deploy doesn't make the app visible to others — who can see it is set separately in Visibility & access.
From the terminal, check it with the axhub command tool (CLI).
axhub deploy status --app demo # latest deploy status
axhub deploy list --app demo # deploy history
axhub deploy watch <deployment_id> --app demo # watch until the deploy finishes
axhub deploy cancel <deployment_id> --app demo --execute # stop a deploy in flightIf you're wondering what an individual progress code means, axhub deploy codes explains each value.
Taking an app down or archiving it is covered in Manage app state.
Deploying automatically on push
You can have a new deploy run every time you push code to GitHub. Connect the AxHub GitHub App and you never have to write a workflow yourself.
axhub apps git connect --app <app> --repo owner/repo --branch main --execute
axhub apps git status --app <app>After that, every new commit pushed to that repository tells AxHub to start a deploy. You have succeeded when a new deploy appears in the app console's Deploys tab after a push.
To run tests before deploying, declare them in axhub.yaml — they run before the build, and a failure stops the deploy.
ci:
commands:
- npm testReading the logs
When a deploy comes back failed, open the logs first. Click the failed deploy in the app console's Deploys tab, or use the terminal.
axhub deploy logs --app demo # recent logs
axhub deploy logs --app demo --follow # follow in real time
axhub deploy logs --app demo --since 2026-08-08T09:00:00Z --limit 200There's one thing to look for — which stage it stopped at. If it stopped during the build, where code is assembled into a runnable form, it's a build command or dependency problem; if the build finished but it died on startup, look at the start command, port, or environment variables. Copy the last red lines as they are — fixes by symptom are in When a deploy fails.
When logs aren't enough, there are diagnostic commands.
axhub deploy doctor --app demo # diagnose the app's deploy environment
axhub deploy diagnose demo # diagnose the live state of the running appRolling back to a previous version
If a new version has problems, go back to a previously successful one — that's a rollback. Click Roll back on a row in the app console's deploy history, or use the terminal.
Find the point to return to
axhub deploy releases --app demo shows the release history — note the ID of the deploy you want back.Preview it
axhub deploy rollback --app demo --from-deployment <deployment_id> — it previews by default, so nothing has changed yet.Run it
--execute to the same command and that version goes back up. Afterward, confirm with axhub deploy verify <deployment_id> --app demo.A rollback reverts code only. Database schema changes already applied (destructive ones like dropping a column) do not come back — in that case the CLI asks you to confirm with --confirm-schema-skew. Before rolling back a deploy that changed the schema, check the impact on your data first.
Open the app's address and you should see the previous version. Fix the cause and deploy again to move forward.