Release to Production

The fastest way to ship changes: build, push, and deploy in a single command.

Quick release

  1. Commit your changes and run:

    gon release

    This will auto-increment the patch version (e.g., v2.2.0v2.2.1), build the Docker image, push to GHCR, and deploy to production.

  2. Confirm the deploy when prompted, or use --force:

    gon release --force
  3. Verify:

    curl https://myapp.example.com/api/v1/healthcheck

Major/minor release

For a major or minor version bump, specify the tag explicitly:

gon release --tag=v3.0.0 --force

Step-by-step alternative

If you prefer separate steps (e.g., for testing the image before deploy):

  1. Build and push:

    gon build --push
  2. Deploy:

    gon deploy --tag=v2.2.1

Rollback

If something goes wrong after release:

gon deploy --rollback