views:

230

answers:

5

Is it possible to set up continuous build of projects written in .NET and Java on single build server with single set of applications?

I've seen CruiseControl has support for both world but as far as I know these are two separate applications. Should I go with a separate machine to build Java projects (a machine for .NET projects is already set up)?

+1  A: 

Ant and NAnt can reasonably easily execute arbitrary processes, including each other, so the actual build part shouldn't be too hard.

I'd expect the tricky bit to be getting the reports (including unit test results) into an appropriate format. How's your XSLT? ;)

EDIT: Now that I think about it, my first agile project had a continuous build server (just CruiseControl, I believe) which must have been doing some of this... I suspect at the time we directly invoked Visual Studio to build the code and NUnit to test it. If I were at the same company I'd check, but that was two jobs ago :(

Jon Skeet
+3  A: 

Hudson has support for both Ant (out of the box IIRC) and NAnt (through plugin) so that's an option for you.

Esko
+1  A: 

You could checkout Atlassian Bamboo. Unfortunately, its not free, unless you are applying for an opensource/community license for use with opensource software.

Chii
A: 

CruiseControl supports several different build options include Ant, Maven, NAnt, Phing (php), Rake, XCode, and then the generic "exec" which you can use to invoke any command-line script/tool you want. Not a problem mixing Java and .NET on the same server.

Of course this is not unique to CruiseControl. There are lots of CI tools that support multiple build technologies as you can see on this matrix of features.

Disclaimer: I work on CruiseControl. OTOH since I don't make money on it I don't much care which tool people choose. I care more about advancing the state of CI practices which is why I organize the Continuous Integration and Testing Conference (CITCON).

Jeffrey Fredrick
+1  A: 

You can use two different products on the same machine. Or you can run a single builds system across multiple machines. It is really up to the load you place on your CI.

Peter Lawrey