Runbooks
Rollback
Safely revert a faulty deployment
Scope
- All services and jobs deployed via Cloud Deploy.
- Cloud Run rollbacks must be executed through Cloud Deploy (console or gcloud), not by redeploying Cloud Run directly.
- Spanner schema rollbacks must be executed via Liquibase, not by manual DDL.
Procedure
- Identify the last known good release in Cloud Deploy.
- Trigger a rollback in Cloud Deploy (GCP console or equivalent
gcloudcommand). - Monitor the rollout until it completes.
- Validate service health and key workflows.
- Announce in
#engthat rollback is in progress and when it completes. - Open or update an incident if user impact continues.
Database rollback (Spanner)
- Identify the Liquibase changeset, tag, or count to roll back from
db/liquibase/changelogs/spanner/nest/. - Execute a Liquibase rollback using the approved workflow
(
db/liquibase/run-liquibase.sh rollback ...or the CI pipeline that runs Liquibase updates). - Re-validate the application after the schema rollback completes.
- If the service rollback depends on schema compatibility, coordinate the Cloud Deploy rollback and Liquibase rollback together.
Validation
- Confirm health endpoints and error rates return to normal.
- Verify integration-specific behavior (partner APIs, Spanner reads/writes).
- Check logs for residual errors from the failed release.
Notes
- Cloud Deploy is the source of truth for releases and rollouts.
- If schema changes are involved, verify backward compatibility before rollback.
- Liquibase is the source of truth for Spanner schema changes and rollbacks.
Last updated on