Skip to content

Auto-Deploy

Automatically deploy your application when you push code to GitHub.

You push to main branch
GitHub sends webhook to ZevCloud
ZevCloud clones the latest code
Nixpacks detects language/framework
Docker image built on build server
Container deployed to production server
Traffic routed to new version
Email notification sent
TriggerWhen
Push to branchAny push to the configured branch (e.g., main)
Manual deployClick “Deploy” in dashboard or zevcloud deploy
API triggerPOST /v1/services/:id/deployments

Auto-deploy is enabled by default when you connect a GitHub repository. Configure in Service Settings:

  • Branch — which branch triggers auto-deploy
  • Root Directory — if your app is in a monorepo subdirectory
  • Auto-Deploy Toggle — enable/disable

Monorepos: Only What Changed Gets Deployed

Section titled “Monorepos: Only What Changed Gets Deployed”

When several services share one repository (each with its own Root Directory), a push only redeploys the services whose folder actually changed:

  • A commit touching only frontend/ redeploys the frontend service — the backend keeps running untouched
  • Changes to shared files outside every service’s folder (a root package.json, lockfile, or packages/ directory) redeploy all services from that repository, since they can affect any build
  • If the change set can’t be determined reliably (very large pushes, force pushes), all matching services are redeployed to stay safe

No configuration needed — this works automatically from each service’s Root Directory.

Customize the build process:

SettingDefaultDescription
Build PackNixpacks (auto)Auto-detects your language
Build CommandAuto-detectede.g., npm run build
Install CommandAuto-detectede.g., npm ci
Start CommandAuto-detectede.g., npm start
Output DirectoryAuto-detectede.g., .next, dist

Email notifications are sent for:

  • ✅ Deployment succeeded
  • ❌ Deployment failed (with error summary)

Configure notification preferences in Settings → Notifications.