How to deploy updates to .NET website in cluster
- by royappa
We are operating a corporate web application on a load-balanced cluster that consists of two identical IIS servers talking to a single MSSQL database.
To deploy updates I am using this primitive process:
1) Make a copy of the entire site folder (wwwroot\inetpub\whatever) on each IIS box
2) Download the updated, compiled files onto each IIS box from our development area
3) Shut down IIS both web servers
4) Copy the new and updated files into the wwwroot folder (overwriting any same files)
5) Then restart IIS on both machines
When there are database changes involved there are a few other steps.
The whole process is fairly quick but it is ugly and fraught with danger, so it has to be done with full concentration. I would like to just push one button to make it all happen. And I want a one-click rollback in case there is a problem (that's the reason I make the copy in step #1).
I am looking for tools to manage and improve this process. If it also helped us maintain a changelog, that would be nice.
Thanks.