Alex Rivera | Logout

What method do you use to deploy ASP.Net applications to the wild?

Asked 2009-06-10T10:35:59.663
19

Currently we deploy compiled ASP.Net applications by publishing the web site locally and emailing a zip file to the system administrator with a (usually) lengthy set of instructions for deployment. This is because the first time we deployed an ASP.Net application to a customer the dev and test IIS instance were the same, and we were unable to deploy the site twice to the same machine. This set the tone for deployment on all subsequent projects.

I am now evaluating our deployment methods and am looking specifically at the built in deployment tools; specifically I'm looking at custom installation tasks and using as much of the standard installer functionality as I can (mostly the user interface).

Secondly, I'm looking at merging deployments and automatic updates.

How do you go about deploying sofware in your organisation? What tools do you use, and what problems do you come across most frequently?

Edit
Report

2 Answers

0

A couple things that I have done is the following:

1) Use a Web Deployment Project in order to compile and clean the build as well as handing web.config section replacement if the config changes between environments. 2) Use NAnt to do all of the building, archiving, and copying in a repetitive manner.

The Web Deployment Project ends up creating a MSBuild file which can be used in place of NAnt; however, I came from a Java background and used Ant all of the time so NAnt is my preference in .Net. If you add in the NAnt Contrib tasks, you will be able to deploy not only the files but also handle items such as your source control (incase it is not part of the default tasks) and Sql Script Execution for changes.

Currently I use both of the options together. I have my NAnt build file call the Web Deployment Project through MSBuild. With the configuration manager setup for each environment, it allows me to manage the web.config section replacements automatically and still have fairly decent control over my copying and archiving of a release.

Hope this helps.

answered 2009-06-10T11:52:08.917
0

We use web deployment projects, and the VS 2008 projects to create an .msi from the output of the webdeployment & other projects. A normal windows app called 'setup' is used to do a lot of the db creation and preliminary stuff, rather than trying to customise the setup projects with custom steps. It is a lot easier to do this yourself than trying to customise the MS code. This windows app then calls the correct .msi files that the user needs.

Team foundation build runs every evening to rebuild the solution and copy everything to a 'Release CD' directory which anyone can access and do testing on the latest 'release'. To be honest TFS build is a bit overboard for a small team like ours, and I only use it because its what I am used to.

In a previous company we used this http://www.finalbuilder.com/ and I can recommend it for ease of use and for the amount of software supported.

answered 2009-06-10T13:06:10.827

Your Answer