i just wanna discuss our deployment strategy and find discrepancies in it. the process goes like this
-> Development finishes for a particular release
-> All developers commit their files to trunk
-> Compare database schemas using TOAD and migrate the changes
-> Create a new branch on SVN
-> Export using SVN (to remove .svn folder,etc)
-> minify the JS, CSS
-> upload to staging server
-> perform test cycle
-> fix bugs on the branch and verify them
-> re-minify the JS, CSS [if required]
-> upload to production server
-> when i say upload, it means uploading files through SSH to /var/www/html folder
-> first upload js, css, images
-> then upload php files
-> during upload exclude directories like user uploaded pictures, etc.
-> perform test cycle
-> fix bugs and upload again (may need re-minify - few files)
-> verify bugs
-> verification completes
-> commit branch to svn
-> merge changes back to the trunk
-> commit trunk [during this deployment cycle, no one commits any files to the trunk]
the process is really complicated and requires lots of attention.
any suggestions on how we can improve it?