Deploying Apps/Lifecycle
Deployment Lifecycle
Every Hatch deployment moves through a small set of states. The status tells you where the run is; logs tell you what happened.
Live logsHealth gatedCancelable
Stages
01
Queued
The deployment exists in Postgres and the API has published a build job to RabbitMQ.
02
Building
The builder clones the repository, runs Docker build, authenticates to ECR, and pushes the image.
03
Deploying
The deployer registers a task definition, configures routing, creates or updates the service, and waits for health.
04
Live
At least one task is running and the target group reports healthy.
05
Failed or Canceled
The run stopped before going live. The final log line should identify the failed stage.
Status reference
| Status | Meaning |
|---|---|
| queued | Waiting for the builder to pick up the job. |
| building | Docker image is being produced and pushed. |
| deploying | Cloud resources are being updated. |
| live | Deployment is healthy and serving traffic. |
| failed | A build, registry, ECS, routing, or health check step failed. |
| canceled | The user canceled the run before final handoff. |
Example log flow
logs
Job received
Syncing source code...
Starting Docker build...
Image successfully pushed
Handoff to Deployer: Provisioning cloud infrastructure...
Registering task definition...
Configuring target group...
Updating routing rules...
Provisioning Fargate service...
Task health: 1 running, 0 pending, target healthy
Deployment live at: https://app.hatchcloud.xyzThe lifecycle is intentionally explicit. When something breaks, the final few log lines should point at the failing layer.