(Proposed) VMT Release Procedures
- A formal build system (the rest of the Math Forum uses Cruise Control from the the same test server)
- Self contained vmt environment (i.e., all related software should be deployable under a single directory)
- Well defined tag in the subversion repository (identifying version in test & production), so that reverting back to a version is easy.
- Tag the version (in subversion) of the software to be tested.
- Build the software to be tested (using the formal build system)
- Backup the self-contained directory on the test server (as simple as making a copy of the directory)
- Install the new version on the VMT test server under conditions matching as closely as possible the conditions on the production server.
- Make snapshots of databases and other configuration files
- Send an email to a list of people, probably including Kofi, George, Steve, Gerry, formal build system lead (James) and a Math Forum sys admin like Amir. Send a link to the new version and put the link on the VMTwiki Deployment page.
- Give people a certain time period (at least a week) to test the new version on the test server.
- Gerry should approve release to the production server (Steve should in his absence).
- If approved,
- Tag the production version in subversion
- Backup the current directory and make snapshots of databases.
- Deploy the software to production.
- Be prepared to revert to the previous system quickly in case of problems. (This should be as easy as copying back the original directory and reverting back to the database snapshot.) In addition to the project development lead (Kofi) the new sys admin (replacement of Meredith) should be able to do this. Amir can be a secondary support person.