Today we do not have a release management process for SFDC releases. I read a lot of articles on the subject but I don't find the best way. There is a lot of tools to do that: Flosum, AutoRABIT, Copado, CloudMax, sfOpticon, Force.com Migration Tool.
We think to use the Migration tool with SVN and the DataLoader to automate all the process and make Continuous Integration with Jenkins. The idea is that we would like to have :
- a sandbox for each developer
- a sandbox (QA-Integration) to validate the code (SF best practices convention, naming convention,...)
- a sandbox (UAT) for users tests
- a sandbox (staging) to validate migration to production
- production
What we want to avoid is to take too much time for the prod deployment, found errors in the last step (UAT-staging), found dirty code in another environment than development and we would like to easily roll-back, compare environment, rebase an environment... We think that with the migration tool and svn we can achieve it without encountering too many difficulties but I want to be sure before I implement all the process. So has someone already implemented a similar process in his organization? Has someone scripts example? If not what do you suggest as a proper process for managing SFDC releases according to our needs?
Thanks in advance for your answers en your help.