When starting on the development phase of an engagement, the first step in the process is usually getting a zero feature release completed. As part of working on the ZFR, we set up a build server to take care of continuous builds, of which I’m a big fan. For more information regarding continuous builds look at Martin Fowler’s article.
Our build server uses CruiseControl and NAnt to initiated builds. Both can be found on SourceForge.net. CruiseControl integrates with more tools e.g. NUnit, FxCop and NCover, providing builds that are well suited to your company’s internal development policies.
I recently tried to get the continuous build process working on projects with BizTalk Server 2006 and K2.Net 2003. While I’ve automated builds with BizTalk Server before, I’ve not done it with K2.Net 2003. Since you need to have a references to all of the assemblies and executables used by the programming tool used on the server, you usually need to install the application, e.g. installing BizTalk Server 2006 on to the build to get the application to build. In the case of K2.Net 2003, you can get away with installing the K2 Studio and K2 Service Manager, which works well as you don’t have to be concerned with paying for an additional license.
So how do we go about building the K2 application? A couple of colleagues of mine have built a K2 Installer using Visual Studio 2005 that will build an msi file by calling the K2 Studio. Once the installer has been built, getting it to build on the build server is no different to building any other Visual Studio project – using a NAnt call to devenv.exe.