Auto-Deploy & Deploy Modes

Deploy modes (auto, review-a-diff, pinned revision), branch polling on any Git host, and instant deploys with a GitHub webhook.

Once your App is pointed at a Git repository, you can have every push to that branch trigger a deploy automatically — no more clicking Deploy by hand after each change.

Deploy modes

Every Git-based App has a deploy mode, which decides how new commits become deploys. Change it from the App's Settings page; the Overview page shows the current mode and revision.

ModeWhat happens on a new commitUse it when
Auto Deploy (default)Raklane deploys it automatically.You want every push to the branch to go live.
Manual Deploy with DiffNothing, until you act. The Overview shows when your app is behind the branch; review the diff, then deploy exactly the commit you reviewed.You want a human to look at changes before they go out.
Deploy by Git RevisionNothing. Deploys always use the commit, tag, or branch you pinned.You want to hold an app on a specific release.

In Auto Deploy mode, Raklane notices new commits in two ways:

  • Branch polling (any Git host). Raklane checks the branch for new commits about once a minute and deploys when it finds one. This works for GitHub, GitLab, Bitbucket, and any other Git host, with no setup. It applies to Apps that have been deployed at least once.
  • A GitHub webhook (instant). GitHub tells Raklane about a push the moment it happens, so the deploy starts within seconds instead of within a minute. The rest of this page sets that up.

Webhooks only trigger deploys in Auto Deploy mode. In the two manual modes, a push never deploys anything on its own.

How the webhook works

Raklane can receive push notifications directly from GitHub. When you connect a webhook on your repository to Raklane, a signing secret shared between the two lets Raklane confirm a push notification genuinely came from GitHub before starting a deploy using your App's existing source configuration.

Setting it up

1. Create a webhook secret

From your App's Source page, choose Enable auto-deploy. This creates a webhook_secret for you (see Secrets) and shows you two things you'll need for the next step: a Payload URL and the secret value.

2. Add the webhook on GitHub's side

In your GitHub repository, go to Settings → Webhooks → Add webhook, and fill in:

  • Payload URL: the URL shown on your App's Source page.
  • Content type: application/json.
  • Secret: the exact same value shown on your App's Source page.
  • Which events: just the push event is enough.

Save it. GitHub will send a test ping — check the webhook's Recent Deliveries tab on GitHub if you want to confirm it arrived successfully.

3. Push and watch

Push a commit to the branch your App's source is configured to build from. A new deploy should start within a few seconds — check your App's Status page (see Logs & Status) to watch it happen.

Notes

  • This only works for Git-based sources (not archive uploads) — there's nothing for GitHub to push to if your source is an uploaded file.
  • Pushes to branches other than the one your App is configured to build from are ignored.
  • If a push doesn't trigger a deploy, double check the secret matches exactly on both sides — a mismatch is silently rejected, the most common cause of this not working. See Troubleshooting.