views:

4436

answers:

5

I work for a .net shop looking to integrate a CI server. From what I've seen, Hudson seems to be the most popular choice. Considering we are a .net only shop, will Hudson present any hurdles that CC.NET will not?

+13  A: 

I cant think of a single thing that Hudson hasnt been able to do for our C# development, even with MSTest based tests, you can now run and trendgraph on them with the new plugin (only works if you are testing ONE assembly) or my method which works on multiple assemblies.

I suppose the only thing that would be nice, would be to generate code coverage data and report on that, not sure if CC.net does that.

Also, Hudson seems to have much stronger community support. I've never heard of someone picking CC.net over Hudson if they had the choice.

We use it to

  • Deploy windows services
  • Deploy web services
  • Run MSTests & display as much information as any junit tests
  • Keep track of low,med,high tasks
  • trendgraph warnings and errors

These things may not be anything new to Hudson, but I felt the need to re emphasize that Hudson can handle this with a .net project, no problem.

Here are some of the built in .net stuff that Hudson supports

Also, god forbid you are using visual source safe, it supports that as well. I'd recommend you take a look at Redsolo's article on building .net projects using Hudson

Allen
Well now you have met someone who prefers and chose CC.NET. I am one. CC.NET's community is great, I don't know Hudson's community but if it is that much better, then Great for you. I found the need to learn Java for my customizations my major impediment
Alex
You don't need to learn java to add build steps, I've written batch files as shown in my link above. you can add executables as well.How does the built in plugin support compare to this? http://wiki.hudson-ci.org/display/HUDSON/Plugins
Allen
It compares favorably, most of that functionality is just in CC.NET, no need to do extra work. And what isn't I have no need for. I am not bashing on Hudson, it seems pretty good. I'd say they compare vary favorably. I can change the fundamentals though, not just add a plugin
Alex
A: 

I know almost nothing about Hudson. I will say that since CC.NET is based on .NET, it tends to have lots of built-in and community-contributed tasks and reports relating to the .NET ecosystem:

MSBuild Visual Studio NCover NUnit FxCop etc. etc. etc.

So, if you use these tools, you should carefully check how well they are supported "out-of-the-box" by Hudson. Also, if you end up having to write custom plugins (I have done a few for CCNET), it is usually advantageous to be able to use the development language and IDE that you use for "normal" development.

jlew
Wow are you serious? Hudson supports all of that out of the box via plugins except NCover and I think one is in the works. Anyway you can develop custom build steps as executables or just run dos commands, there is no need to know java whatsoever.
Allen
Why "Are you Serious?" Jeremy says he doesn't know Hudson, he is not saying that stuff isn't in Hudson. What are you questioning?
Alex
misread the message, cant edit the comment
Allen
A: 

Can anyone answer for what it's like to manage Hudson with multiple projects? I recently upgraded to CC.NET 1.4.X and really like the 'include' functionality that allows me define basic configurations that can be inherited by my 20+ projects.

this should be asked in a separate question as the answers would be pretty long
Allen
+1  A: 

Hudson is much easier for beginners. We use it to auto-build and pack C++ Builder dlls and exes. Think about that! It's not Java nor C#.

bo
nice, yeah you could even setup hudson to build using jslint, heh
Allen
A: 

I've checked the hudson support for xunit testing frameworks a short summary is included below:

  • MBUnit/Gallio: There is a plugin but the development doesn't seems to be too active nor the community that use it. For example there is only one issue added. It was reported in reported in April and isn't touched yet (August). (Gallio team supports the plugin for CC.Net, their response time looks much better)
  • MSTest: Has the same problem. Has only two issues in the issue tracking system and an average response delay is 6 months. (It looks like CC.Net has native support for mstest but requires some configuration)
  • nUnit: The support for nunit in hudson seems to be quite good. The dev team is much more responsive and it also has more bugs reported (8 currently).

So I think I'm going to give the CC.Net a try.

Piotr Czapla