Linux – Deploy web app to staging – production with subversion

centosdeploymentlinuxsvn

We are building a web app and are almost ready to start deployment to a production server. We are using Subversion for version control and I'm now wondering what the best way would be to deploy to staging and later to production.

Right now we develop and test with 2 persons locally on our own machines and commit to our staging server which is our SVN server.

I know there is a post-commit.tmpl hook which can run a script?
Does anyone know a good resource for that kind of scripts.

Any tips are welcome! We are looking for an easy way to deploy and possibly revert our code to a previous version.

Best Answer

Subversion is a version control system not a deployment system. Don't use it. Since you are doing everything manual right now (building & test) I would also deploy manually, that can also mean that you write some scripts that check the right version out from subversion and deploy it to whatever environment you want it to.

If you want to automate more, I would recommend a CI server or some sort of deployment solution for that. We are starting to use Hudson for testing and deployment (at least for the sandbox environment). We don't intend to use it for production. Because we did not check into the promotion plugin yet. When researching CI servers, I noticed that commercial systems usually offer a better support for release management.

Related Topic