Rollback
Rollback moves traffic back to a previous healthy immutable deployment. It does not edit artifacts or make failed deployments active.
Eligible Targets
Section titled “Eligible Targets”Rollback targets are inactive deployments that:
- Belong to the same app.
- Previously reached a successful active state.
- Are currently
supersededorrolled_back. - Still retain an immutable artifact.
The active deployment, failed builds, unhealthy deployments, canceled deployments, building deployments, and deploying deployments are not rollback targets.
Default Rollback
Section titled “Default Rollback”beamup --app hello-gleam rollbackWithout --to, BeamUp selects the latest eligible target. The CLI submits a
rollback operation and polls for up to 60 seconds. It exits successfully only
after the target deployment is active.
Plain success output includes:
Rolled back app hello-gleam from deployment <from-deployment-id> to deployment <target-deployment-id>.URL: https://hello-gleam.beamup.runDeployment <target-deployment-id> is active; the replaced runtime is draining.Specific Target
Section titled “Specific Target”Use a deployment ID from status, deployment history, or the dashboard rollback target list:
beamup --app hello-gleam rollback --to <deployment-id>--to must be a deployment UUID.
beamup --json --app hello-gleam rollback --to <deployment-id>JSON returns the app identity and final rollback operation.
Failure Behavior
Section titled “Failure Behavior”- No active deployment, no previous successful target, and concurrent rollback return conflict errors.
- A target outside the owned app returns not found without existence detail.
- A failed, unhealthy, or otherwise ineligible target returns a conflict.
- Worker restart, health failure, or active-pointer conflict leaves the original active deployment unchanged and stores a safe failure on the rollback operation.
- If the CLI times out after 60 seconds, run
beamup statusbefore retrying and do not start a second rollback blindly.
Rollback during the 30-second drain window can route back to the still-running previous target. Rollback after cleanup starts a fresh runtime from the previous immutable artifact and health-gates it before routing.
