views:

628

answers:

6

What is the best continuous integration setup for a Devleopment department that codes in multiple environments?

At my company we write some code in C# and some in Java, I've previously used CC.Net but I've never done CInt with Java.

I'm aware of Continuum and was recently told about Hudson, but I've never used either.

Would it be better to use two CInt services one for each platform or to use a single one for both?

+4  A: 

Why don't you try Team City from JetBrains? It is both for Java and C# and Professional version is free up to 20 user accounts and 3 build agents.

idursun
Sounds interesting unfortunately there are 7 developers in our department.
Omar Kooheji
Well, good news is that I was wrong! It lets you to set up 20 user accounts and to have 3 build agents. Details are here: http://www.jetbrains.com/teamcity/buy/index.jspI edited my answer accordingly
idursun
+4  A: 

You could simply use the Java version of CruiseControl and have two setups.

Tigraine
There is a java version of cruise control?
Omar Kooheji
oh... http://cruisecontrol.sourceforge.net/
Omar Kooheji
A: 

Note this assumes you want to build the same code on multiple platforms. Hardware has gotten cheaper so use virtual machines or multiple physical servers I'd go with virtual machines and just buy one powerful server to run them on but if you have a lot of old mid range hardware that may be a cheaper option. Set up a main source control repository on one server, and set up servers with the client operating systems you want to build for. For example have a svn server containing your operating system of choice, a Linux server to do Linux builds and a Windows server to do Windows builds. Then just install what ever continuous integration software works best for the given code base and operating system.

Jared
+2  A: 

As you already know how to use CC.Net and CC.NET can run any build task that outputs XML. Why not just use CC.NET with ant for your java code as well as your C# code.

Or do you need to build on none Windows machine? CC.NET may work with mono, I have not checked.

Remember that any continuous integration setup that compiles all your code and run your unit tests give you great benefits. On most projects having the perfect setup only give a smaller improvement over having a continuous integration setup that works. So I would just pick something you are happy with and start using it now.

Ian Ringrose
A: 

Imho, its almost alway better to use one CI for all platforms you plan to deploy to - easier to sort out problems that way.

shameless plug: try Bamboo, the CI server from Atlassian. Its one click setup, built-in support for Ant and Maven and works on all platforms with JVM. It can also do distributed builds on different platforms.

It also integrates with Atlassian Jira Issues Tracker and Fisheye Code Repository Browser if you have those products.

Chii
A: 

Hudson. I've used it for both .NET and Java projects and it works well to have both platforms using the same continuous integration server.

Shawn Miller