I promised to follow up on my adventures in using shared storage for hosting data being served by a cluster of blades. Unfortunately we don’t (yet) have a nice SAN or anything like that, so all I had access to was a simple Windows file share on a NAS (I love three letter acronyms!). I couldn’t get over the concurrence problems I faced, and servers were constantly tripping over each other giving me file locking errors and stuff like that.
So I ended up spending a day writing a small deployment application that could copy the code out to all the blade servers. What my tool does is this:
- Copy an App_Offline.htm file to the root of all web servers. The App_Offline file shows a message to users that we are upgrading and that we’ll be right back.
- Copy latest build from the build server to each blade
- Modify web.config to disable debug, fix connection strings etc
- Remove App_Offline from all blades.
All in all this ends up working really well and is easy to work with. Also, it allows me to easily hand over the deployment task to someone else, as this person only needs to install the small click-once deployment tool.