When to use Kamal Deploy vs Redeploy?

When using Kamal, you’ll encounter two similar-sounding commands: kamal deploy and kamal redeploy. Here’s the difference between them.

kamal deploy

Documentation: Deploy app to servers

Flags:

  • --skip_push / -P: Skip image build and push

Use this command for initial deployments and when you’ve made infrastructure changes.

kamal redeploy

Documentation: Deploy app to servers without bootstrapping servers, starting Traefik, pruning, and registry login

Flags:

  • --skip_push / -P: Skip image build and push

kamal redeploy skips server setup steps that only need to run once, making it faster for subsequent deployments.

When to Use Each

  • kamal deploy: First deployment or when infrastructure configuration changes
  • kamal redeploy: Subsequent deployments with only application code changes (faster)
  • If kamal redeploy fails, kamal deploy is safe to use as a fallback

For complete guides to deploying Rails with Kamal, see:

This post is licensed under CC BY 4.0 by the author.