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

StatusMeaning
queuedWaiting for the builder to pick up the job.
buildingDocker image is being produced and pushed.
deployingCloud resources are being updated.
liveDeployment is healthy and serving traffic.
failedA build, registry, ECS, routing, or health check step failed.
canceledThe 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.xyz
The lifecycle is intentionally explicit. When something breaks, the final few log lines should point at the failing layer.