tags:

views:

44

answers:

3

With VisualStudio Publish, CruiseControl.NET, MSBuild, aspnet_compiler.exe, and Web Deployment Projects out there, how would one know which tool to use to ultimately get a .NET 2.0 web application into a testing/production environment?

With .NET 1.1, I simply copied all files over to the server's directory and set it to a configured virtual directory in IIS. Unless I am really missing something, it seemed to work just fine. Now I'm reading about how important it is to put some good thought into 2.0 deployment and the the more I read, the more I get confused.

Please breakdown how to choose which tool to use, and why you would use that tool. If more than one tool is needed, please identify how they relate to this process.

A: 
consultutah
Be very careful with this, i've seen developers in the past accidently select the wwwroot directory for deployment and select the "delte all existing files prior to publish"... end result no sites remaining on the development server.
mundeep
Yeah. That would be bad. ;-) That's one of the reasons we do it the way that we do... Other reasons are: 1. Consistently apply same update to multiple app servers. 2. Ability to quickly revert if something horrible happens.
consultutah
+2  A: 

CC.NET is for Continuous Integration it can build your setup projects as artifacts, but that is not it's main purpose. MSBuild is the Microsoft build system -- again, not related to deployment. aspnet_complier compiles your web sties, which may make deployment easier, but is not in itself deployment.

Web deployment projects is what you should be looking at. Here's a decent little post that goes over some of the options for deployment and a reference from MSDN. There are also commercial products.

JP Alioto
A: 

I use TeamCity, which implements

  1. Rebuilding solution with devenv.exe in command line
  2. Changing settings in web.config (connection strings and debug mode) with sed.exe
  3. Precompiling WebSite with the aspnet_compiler in command line.
  4. Copying solution to FTP (with internal tool)
murad