The #develop teamblog
 Friday, December 01, 2006

Our build automation system has changed: up until yesterday, we were using CruiseControl.NET to kick off an NAnt script to run our daily build. Now we are using MSBuild end-to-end in our build system, with a much cleaner architecture than before:

  1. CruiseControl.NET kicks off the build by checking out the latest changes. The build is triggered either based on time (for the daily builds) or on check in (continuous integration).
  2. After check out, CruiseControl.NET hands over to KickStart.proj, which we wrote and placed in the root of our CC.NET installation. This MSBuild script sets a couple of properties, and then delegates further work to
  3. Automated.proj. This MSBuild script is part of the checked out project that is to be built. It does all the heavy lifting, like build, unit tests or setup creation.

The obvious advantage of this setup: the build server doesn't know a thing about what the project needs (tools, libraries, you name it) to be built properly. Thus we are now doing our daily SharpDevelop builds, our CI SharpDevelop builds as well as SharpReport daily builds using one standardised setup. It took us a while to get into gear (old habits die hard, and why change a running system), but it is now fully operational.

Bootnote You can find all of our scripts in the repository. However, you need to check out trunk/SharpDevelopBuildServer instead of trunk/SharpDevelop.

Categories: Chris
Friday, December 01, 2006 6:44:37 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



Comments are closed.

© Copyright 2008 SharpDevelop Core Team

Subscribe to this weblog's RSS feed with SharpReader, Radio Userland, NewsGator or any other aggregator listening on port 5335 by clicking this button.   RSS 2.0|Atom 1.0  Send mail to the author(s)

 

Copyright ©2000-2007 IC#Code. All rights reserved. Projects sponsored by AlphaSierraPapa.