Feature · Build & deploy

Zero-downtime deployments on every push.

A zero-downtime deployment ships a new version without taking your app offline. Runex starts the new container, waits until it passes a health check, then moves traffic over: users never see an error page mid-deploy.

  • Health-checked before traffic
  • Old version drains cleanly
  • Failed deploys never go live
deploy #128
running
#127 · serving traffic
new
#128 · starting
health check
GET /health → 200
traffic
switched to #128
old version
drained, stopped
downtime
none
zero-downtime deploymentsrunex

Definition

What is a zero-downtime deployment?

A zero-downtime deployment replaces a running version with a new one while the app keeps serving requests.

Without it, a deploy stops the old process before the new one is ready, and users hit errors or timeouts in the gap.

Runex closes that gap. The new version starts in its own container alongside the old one, and traffic only switches once the new container responds to its health check.

If the new version never becomes healthy, traffic stays on the old one and the deploy is marked failed: a broken build can't take production down.

How it works

How does Runex deploy without downtime?

Start new, check, switch, stop old. Every deploy follows the same four steps.

  1. You

    Push to your branch

    A new commit triggers a deploy.

  2. Runex

    Start the new version

    It boots next to the running one.

  3. Runex

    Pass a health check

    Traffic waits until it responds.

  4. Runex

    Switch and drain

    Requests move over; the old container stops.

Benefits

Why do zero-downtime deployments matter?

Deploy at noon, not at midnight.

No maintenance windows

Ship during business hours without warning users.

Failures stay contained

Unhealthy versions never receive traffic.

In-flight requests finish

The old container drains before it stops.

Deploy more often

Small, frequent releases become the default.

Compare

Zero-downtime vs blue-green deployment: what's the difference?

Zero downtime is the goal; blue-green is one way to reach it. Blue-green keeps two full environments and flips between them; Runex swaps containers per deploy behind a health check.

Zero-downtime vs blue-green deployment: what's the difference?
Zero-downtime on RunexClassic blue-green
EnvironmentsOne: containers swapped per deployTwo full copies, blue and green
Switch triggerNew container passes a health checkManual or scripted flip
InfrastructureNo duplicate environment to runDouble the infrastructure
SetupBuilt inYou build and maintain it

Example

Example: shipping an API change mid-day

An API update ships during peak traffic, and no request fails.

  1. Push to main on acme/api
  2. Runex builds and starts the new container
  3. The health check on /health returns 200
  4. Traffic shifts to the new version
  5. The old container finishes open requests, then stops
  6. Zero failed requests during the deploy
zero-downtime-deployments
repository
acme/api
health path
/health
check
200 OK · ready
switch
after check passes
errors
0 during deploy
illustrative namesrunex

FAQ

Questions developers ask

Short answers about zero-downtime deployments. More in the documentation.

How do you deploy without downtime?

Start the new version before stopping the old one, confirm it's healthy, then switch traffic. Runex does this automatically on every deploy.

What is a health check in deployment?

A request the platform sends to your app, often to a path like /health, to confirm it's ready. A healthy response means it's safe to send users traffic.

What happens if a new deployment fails its health check?

Traffic stays on the current version and the new deploy is marked failed. Check the logs, fix the issue, and push again.

What is a rolling deployment?

A rolling deployment replaces instances one at a time so some are always serving traffic. It's common when an app runs several replicas.

Next step

Ship with zero-downtime deployments today.

Sign up, install the GitHub App, and deploy your first app. It's free to start.