ASP.NET deployment tools

"George V. Reilly" <[email protected]> Wed, 2 Nov 2011 16:21:49 -0700
Newsgroups gmane.comp.windows.off-topic
Message-ID <CAL3j_b_sFvZz1JFm6UEkET83sJYaM+kkUPqZx0M_rpijWrgqDQ@mail.gmail.com>
We're using a home-grown Rube Goldbergesque deployment system to push
ASP.NET applications out to our Windows servers. It's really showing its
age. When we had fewer users, we could deploy at almost any time of day.
Now we're having to push deployments late into the evening when the load is
low. If there's a problem, we often have to rollback and try again another
day.

For our Python web services, we're using some tools that we built on top of
Puppet and MCollective to deploy to Linux servers, which works well. As far
as I can tell (but I haven't looked closely), Puppet/MCollective doesn't
have what we need on Windows.

Our current tool pushes a zip file to each Windows box. The agent on the
box unzips it into a folder with a versioned name, updates the IIS virtual
directory, pulls config into AppSettings.config, probably does some other
stuff that I forget, restarts the ASP.NET application, and then notifies
the central dispatcher. Only when all boxes have signaled success is a
deployment considered complete. Sometimes it can take up to half an hour
before the deployment is complete. A rollback is little more than modifying
the IIS vdir to point to an older folder.

What are people using to deploy ASP.NET applications to production servers?
We're using Visual Studio 2005 and .NET 2.0, but we'd upgrade if we found a
significantly better deployment system that required a more recent version.
-- 
/George V. Reilly  [email protected]  Twitter: @georgevreilly
http://www.georgevreilly.com/blog  http://blogs.cozi.com/tech