I am an entrepreneur with a Drupal 6x project that started small enough to not need version control (per developers), but now I am convinced there is no way without it. There's extensive documentation on JIRA, complete with well-written User Stories covering everything. I read up a bit about how this could be done and came up with the following plan -
- Separate site code from database using modules
- Put the code in a SVN repository and create a staging site
- Create a mirror of the staging server on EC2 production server
- Create Selenium tests, and run them on the cloud using Saucelabs
- Create a build workflow in JIRA Studio using Elastic Bamboo to run automatic updates
- Update and install profiles using Drush Make
- Run updates on production server (I am not sure how)
To begin with, I have made a list of about 50 "Features", each with its components (views, content types, modules etc). This will no doubt be challenging as the site contains about a dozen custom modules and web services, not to mention another dozen instances of content type "application" containing custom code (most of which I would like to have converted to upgradable views or modules). The good thing is that the site is not yet in production so the risk is still limited.
Does anyone have any experience in doing something similar? What pitfalls and limitations should I expect to encounter? I would greatly appreciate any suggestions for improving/correcting the above plan, or any insight or advice that you experts out there might have for me.