Rolling back incremental releases

We are currently using Octopus for Sitecore deployments. A Sitecore deployment is typically made up of both code and database changes in the form of Sitecore db items. As the code we source control typically lives in and around the product code and the rest of the changes are database level we are creating incremental builds by comparing to a TFS baseline as overwriting the entire site everytime is not an option. With every release we create the incremental anti nuget packages to the packages we are about to deploy which can be used to effectively rollback.

My question is around what options do we have in Octopus to allow us to run these anti packages for rollback? One possible solution I considered was if a previous deployment was selected for release use a PreDeploy powershell to scan for releases later than this one, grab all the anti packages from later releases and then run them.

Does this sound like a good option? Is anyone aware of any better options or methods that could be used? Thanks.


Thanks for getting in touch! It mostly sounds like you have figured out how this best might work for you. We did have one thought on this, which is you could have a second package step per deployment that contains your anti-packages and runs on deployment fail. But it would only work for the immediate deployment.