Loving DM2 - How should I manage "roll-back"
jakenuts
Posts: 13
To start, thanks so much for your work on this product. It really fills the "last mile" of my continuous integration process, not an easy feat. I've now got a really smooth commit->build->package->deploy setup using Deployment Manager 2.0, Github and TeamCity.
One thing that I've always wanted to improve on though is rolling-back from a production release that has some fatal flaw (I can't write a test to save my life). Since DM2, by default, switches a site to a new folder for each release (cool idea) rolling back to an earlier build would be really fast/easy if I could just point the site at an earlier folder. Is that something that might be supported? I know with more complicated deployments (i.e. database changes) that wouldn't really work but for simpler sites it would be pretty great.
Thanks!
James W
One thing that I've always wanted to improve on though is rolling-back from a production release that has some fatal flaw (I can't write a test to save my life). Since DM2, by default, switches a site to a new folder for each release (cool idea) rolling back to an earlier build would be really fast/easy if I could just point the site at an earlier folder. Is that something that might be supported? I know with more complicated deployments (i.e. database changes) that wouldn't really work but for simpler sites it would be pretty great.
Thanks!
James W
Comments
This depends on the stage at which you notice that you want to rollback. Ideally nothing should get to production in a broken state. We recommend you have a staging environment, which is a replica of your production environment, thus allowing you to deploy to staging and check that everything works prior to promoting a deployment to production.
If it does get to production in a broken state, then there are general two situations:
- It has deployed successfully but there is something wrong with the live site. In this situation we would recommend you redeploy the last successful deployment.
- It has failed to deploy successfully - for this situation we are currently considering implementing a rollback mechanism.
How would you want rollback to work and how would you want to set it up?