Rollback Production Deployments
The Rollback Deployment option initiates a rollback of your most-recent successful deployment. This allows rapid, predictable recovery from a deployment that succeeded on technical criteria, but that you want to undo for other reasons.
In this topic:
- Review: Platform and Workflow Support
- Step 1: Rollback a Production Deployment
- Requirements and Warnings
Review: Platform and Workflow Support
Rollback Deployment currently supports the following platforms and strategies:
- Kubernetes deployments: Basic, Blue/Green, Canary, Rolling Workflows.
- SSH deployments: Blue/Green, Canary, and Basic Workflows.
- PCF (Pivotal Cloud Foundry) deployments: Blue/Green, Canary, and Basic Workflows.
- WinRM (IIS and .NET) deployments: Blue/Green, Canary, and Basic Workflows.
- ECS deployments: all Workflow types, and both EC2 and Fargate clusters.
Harness anticipates expanding this feature to other deployment platforms.
Step 1: Rollback a Production Deployment
To initiate a post-deployment rollback:
- Open your Services Dashboard.
- In the Current Deployment Status panel, click the More Options ⋮ menu beside the most-recent deployment. Then select Rollback Deployment.The Rollback Deployment option appears only for the current deployment.
- In the resulting confirmation dialog, verify the deployment's details. If everything looks correct, click Rollback.Harness then invokes the Workflow's configured Rollback Strategy, executing the same Rollback Steps as if the deployment had failed.Once the rollback completes, your deployed instances will be returned to the state they were in before the most-recent deployment.
Requirements and Warnings
In order to use Post-Deployment rollback, the following requirements must be met:
- The Workflow must use a Production Environment. It will not work on Non-Production Environments.
- There must be at least two successful deployments of the Workflow.
- The Workflow Type cannot be a Multi-Service Deployment.
- A user's ability to invoke the Rollback Deployment option is based on their User Group membership, and on corresponding role-based permissions.