Deploy pipeline

Every deploy runs through these steps:

  1. Package -- The CLI creates a tarball from git ls-files. Only committed files are included. Use --include-untracked to add untracked files.
  2. Upload -- The tarball goes to the Hadoken API.
  3. Build -- A build job produces a container image from your source using Cloud Native Buildpacks. No Dockerfile needed.
  4. Migrate -- rails db:prepare runs automatically.
  5. Deploy -- Your container is deployed. A health check on /up confirms the app is ready.
  6. TLS -- A Let's Encrypt certificate is provisioned for your subdomain.

Deploy statuses

building --> deploying --> live \-> failed \-> build_failed

The CLI polls and waits by default. You can also check manually with hadoken status --watch.

Rollbacks

If the health check fails, the previous working version stays live. The deploy status shows failed.