What Happens When a Deploy Fails
On a lot of platforms, a failed deploy is the scariest moment you have, the build breaks and the site breaks with it, in public. On SrvBot it’s designed to be a non-event. Here’s exactly what happens when a build fails.
The build runs in isolation
When you push, your new version is fetched, its dependencies installed, and the project compiled and checked, all in a separate build step that no visitor traffic touches. Nothing about your live site changes while this runs.
Traffic only switches on success
This is the core of it: SrvBot only moves traffic to a new build after that build succeeds. If the build fails, traffic keeps flowing to the last working version. Your live site is unaffected, visitors never see the broken build, because it never went live.
You get the log, not a mystery
A failed deploy shows a clear failed status with the build log attached. Scroll to the first line marked ERROR, or to where the process exited, and that’s almost always the cause, a missing environment variable, a build-command mismatch, a failing test. The full guide to reading it is at /help/failed-deploy.
Rolling back is one action
If a deploy succeeds but causes a problem you only notice later, you don’t need to reconstruct anything. Open the deploy history, find the last known-good version, and redeploy it. SrvBot rebuilds from that exact commit and switches traffic back once it’s ready.
Why we built it this way
Most real-world downtime is self-inflicted, a bad deploy, not a data-center failure. The platform should make that failure mode safe by default, so shipping often doesn’t mean risking the site each time.
The bottom line
A build that fails should cost you a log to read, not an outage to explain. The recovery walkthrough lives at /help/failed-deploy, and you can try the deploy flow yourself from /get-started.