Twitter - and Deploying web apps to the server with SVN
First, an aside: Just one blog post since leaving Telligent? wow. Even more surprising, how many times a day do you think I check Google Reader now?
Never.
In fact, I don't remember the last time I checked "the feeds I'm really interested in and never miss". Long story short, I just don't read blogs any more. I also have Pidgin IM open with MSN/Yahoo/AOL all signed in and waiting for IM's. I don't get any. Well, maybe one a week.
Nowadays, it's all Twitter, all the time. It's taken over the conversation and socializing that used to happen on IM. It's taken over Google Reader's job too - if someone that I follow posts to their blog, they tweet it and I see it.
So, for now at least, this blog is reserved for longer posts that I can't distill into 140 characters (which as I've proved, isn't many).
http://www.twitter.com/JamesShaw is me, obviously.
(and just to prove my point, I'll be twittering that I posted this :)
==============
Now to the real question. In a brief lull between the hectic launches at my current gig I want to streamline the deployments to our web servers.
I'm thinking of using TortoiseSVN on the server to simply update the web sites, but I'd like your opinion on a few points:
- Should we update to the *live* web site folders? Sound insane, but that's exactly what has been done for every deployment on a collection of very large, very busy websites (that you probably know) for years now. And the devs still swear by it - but rollback seems problematic to me.
- Or we briefly considered updating a separate copy of the sites and then use BeyondCompare to push the changes live? Is there a point to this extra step? Is it really any safer? And rollback is non-existent.
- Or my current favorite; keep two web sites fully configured on the server, update the non-live one with SVN and switch IIS to use it. If it fails, switch IIS back - a perfect and instant rollback. Seems an even more obvious solution now that I've written it down.
- We don't check-in binaries today, since we always build fresh before deploying. But pushing from SVN obviously means we have to check-in the dll's too. Perhaps even pdb's too, on staging. Which brings up another question - since we share the server between live and staging sites here, is there still a problem with uploading debug assemblies on a live server, even with separate app pools? Opinions vary alot..
Comments below appreciated (or on Twiiter, lol)