My team is currently trying to automate the deployment of our .Net and PHP web applications. We want to streamline deployments, and to avoid the hassle and many of the headaches caused by doing it manually.
We require a solution that will enable us to:
- Compile the application - Version the application with the SVN version number - Backup the existing site - Deploy to a web farm
All our apps are source controlled using SVN and our .Net apps use CruiseControl. We have been trying to use MSBuild and NAnt deployment scripts with limited success. We have also used Capistrano in the past, but wish to avoid using Ruby if possible.
Are there any other deployment tools out there that would help us?
Deployment automation is what enables you to deploy your software to testing and production environments with the push of a button. Automation is essential to reduce the risk of production deployments.
Thank you all for your kind suggestions. We checked them all out, but after careful consideration we decided to roll our own with a combination of CruiseControl, NAnt, MSBuild and MSDeploy.
This article has some great information: Integrating MSBuild with CruiseControl.NET
Here's roughly how our solution works:
Then when we have verified everything is ready to go up to live/staging we run another script to:
It wasn't pretty getting to this stage, but it's mostly working like a charm now :D
I'm going to try and keep this answer updated as we make changes to our process, as there seem to be several similar questions on SA now.
I have used Visual Build Pro for years, It's quite slick and easy to use and has many standard operations (like the ones you mentioned) built in.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With