We have multiple Hudson continuous integration environments set up with automated builds and tests, however we don't do any kind of automated deployments to test environments.
I was wondering how other teams are deploying their ASP.NET web applications. Our builds package up the artifacts of a build with some scripts to stop/start IIS and then we have to go onto each server and run the installer to install the web app.
This is becoming a bit of a bottleneck in our process and I was looking for suggestions for simplifying and/or automating the process without having to log in to each server to do install the latest build.
If you're using a Unix/Linux-based environment, you may want to check out Fabric or Capistrano. They allow for automated deployments of web applications.
Edit:
If you're on Windows, you may want to check out the Web Deployment Tool for IIS. This appears to still be in the "Technological Preview" stage, but may work for you -- I have no personal experience with it myself.
Are you looking to deploy to a single environment or do you want to automate deployments to all your environment?
If you're doing it to a single environment is generally easy to script this to happen automatically from your CI server, either automatically after each build or nightly or even on demand.
But ideally you'd like to use the same deployment automation across all your environments, from test through to production. In that case it might make sense to talk with your Ops people and find out how they are doing their deployments and the develop some common scripts. When we (Urbancode/AnthilPro) talk about deployment automation that's usually what we're talking about and what we recommend to our customers.
If you need to convince someone that making this investment is worthwhile you might find this whitepaper Build & Deployment Automation for the Lean Economy (pdf; registration required) useful. In it we use the Lean technique of Value Stream Mapping to illustrate why automating your deployments is such a big win for the team. When you realize how much "waste" there is in manual deployments of the kind you're describing the investment in automation is a no-brainer.
Jtf
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