Having the option to rollback a deployment is a convenient, yet necessary, way to ensure your changes can be reverted in the event that a deployment doesn't go as planned. With Copado Essentials Plus, both deployment methods (Work Items with pipelines and Deployments with pull requests) allow you to take advantage of this powerful feature to perform back ups WITHOUT a Git repository. Rollbacks can be enabled in two ways:
Manually selecting the "Deploy with backup" option within a Work Item or Deployment
โRequesting to have "Always Deploy with Backup" enabled by Copado Tech Support
We'll walk through both the Work Items and Deployments methods to show how to manually select the "Deploy with backup" option, but for instances where this has been enabled as a global option, simply clicking "Deploy" will ensure the rollback option is available. Note that once we activate Always Deploy with Backup, you cannot deploy without it. Deploying with backup does take longer, of course (but it is worth it!)
Work Items:
To configure Work Items for rollbacks, select the "Deploy with backup" option from the More dropdown menu to initiate your deployment (not the blue Deploy button).
Following a successful deployment, select "Deployment History" within your Work Item to view the most recent deployment. Click on this deployment to be re-directed to the record of this deployment in the History tab.
On the record for this deployment, select the green Rollback button. This will initiate a Deployment using the snapshot that was taken when "Deploy with backup" was selected. The snapshot will serve as the source for this deployment, which can be used to overwrite the changes that were just made with the previous version.
Deployments:
Similarly to a Work Item, during a Deployment, select "Deploy with backup" within the "More" dropdown menu to manually ensure a rollback is available.
Following a successful deployment, navigate to the History tab and select the record of the deployment where a rollback was created.
Once selected, the rollback button should be available on the deployment record for use.
Note: Rollbacks with CI Jobs are different from Work Items and Deployments in that they do require a Git repository. The Git repository must be the source of a deployment to ensure a rollback is available with a CI Job.
CI Jobs:
To configure a CI Job to rollback you must use the "Deploy files committed since the last successful build" option in the Git source section of the Deploy Options tab.
Following a successful CI Job, click into the most recent build under the Build History to view the record of the deployment.
The option to rollback the most recent changes from the CI Job can be seen below.