I work in a team of 3 developing a PHP based application and I am involved with developing a procedure for deployment. We have SVN for SCM and phpUnderControl for continuous integration. Our development, staging and production systems are Linux based.<p>I would like to know if there is a robust methodology for deployment that we can adapt.<p>Specifically, here are a few questions that I would like to have answers for:
1. How do you automate deployments (scripts used/ is there an app that does this)?
2. Rollbacks (including Database Rollbacks) - How do you handle it?
3. Is there a good Database Revisioning app?