views:

441

answers:

3

At my company, we develop our ASP.NET applications as websites and often just work off of our network drive, which points directly to the files on our development web server. Our code is compiled at time of HTML request, so we don't build our web applications. I've read that automated builds are a best-practice, and aim to set that up as well at some point. Right now we're using VSS, which is awful, and I'd like to switch us to subversion.

I've read about NAnt for builds and deployment, and also just heard about CruiseControl.NET. Can I use these tools simply to push code from our SVN Repository to our development web server when a developer commits changes to it from their working copy?

+1  A: 

You certainly can. I have gone through a very similar migration. We always compiled our web apps, but we migrated from VSS to SVN and then setup cruisecontrol and nant to automate our builds and deployments. We used to just drag and drop with windows explorer which was down right painful.

As it happens I have been blogging on this process. My last post specifically covers using cruisecontrol.net and NANT: http://www.mattwrock.com/post/2009/10/22/The-Perfect-Build-Part-3-Continuous-Integration-with-CruiseControlnet-and-NANT-for-Visual-Studio-Projects.aspx

Matt Wrock
Thanks, I'll definitely be checking out that post!
JustinP8
posted http://www.mattwrock.com/post/2009/10/22/The-Perfect-Build-Part-3-Continuous-Integration-with-CruiseControlnet-and-NANT-for-Visual-Studio-Projects.aspx
Matt Wrock
I really like that series of articles. I wish I had the time to plan out a nice system like that. We're set up very similar here. This looks like it would solve several problems we're having now. However, do to time constraints at the moment, and me being the jr. developer with little pull, I have to look for an easier starting solution. I'm thinking running a post-commit hook that just performs and update on the server.
JustinP8
I'm also hearing that TFS 2010 is supposed to provide a super easy and inexpensive solution to all of this. Might want to look that direction.
Matt Wrock
A: 

Yep.

At one company we built a nAnt script that did this. Very simple and effective, but extremely cryptic to change or update.

At another we used Cruise Control which worked great but again was a little cryptic (I think it uses nAnt on the backend), but was very nice to look at and see the steps and problems visually.

Honestly though, the latest Team Server from MS is very good at managing code and very nice at producing builds as well. By far the easiest and effective way I've ever used to deploy .net code.

Mark Kadlec
+1  A: 

I am CM/Developer at my company. We use Nant, CCNET and Subversion, for continous integration and automated deployments to the DEV servers. Works perfectly. Things to note: 1. If your getting Nant, get Nant contrib as well 2. If your building and deploying installers, it will be easier to use devenv.exe to build the installers. 3. You can check out PSTools to install stuff on remote servers. 4. I would set up two different build categories in CCNEt, 1. for Continous and 2. For force builds....this should be your publish.

The set up can get pretty complex, I have used it with VSS as well, email me if you have any questions or need scripting help.

Kirit Chandran