CI: Hudson with .Net vs CruiseControl.Net [closed]
Asked Answered
S

5

26

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?

Saveall answered 24/2, 2009 at 17:29 Comment(2)
Consider adding .net as tag to your postElimination
See also this CC vs Hudson question: stackoverflow.com/questions/604385; despite the "for Java projects" in the title, none of it is Java specific really. About Hudson & .NET, see this answer: #616649 To summarise: go with Hudson. :)Herrin
C
27

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

Cuttler answered 24/2, 2009 at 17:45 Comment(5)
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 impedimentIntellectuality
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? wiki.hudson-ci.org/display/HUDSON/PluginsCuttler
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 pluginIntellectuality
In CC.NET you also have a client app (CC.NET Tray) which comes very useful to see what is the status of the project. On top of that you can also control the CC.NET server (like force build and stuff).Equuleus
Cool, I'm pretty sure there are numerous ones in Hudson / JenkinsCuttler
C
1

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#.

Check answered 15/5, 2009 at 4:32 Comment(1)
nice, yeah you could even setup hudson to build using jslint, hehCuttler
M
0

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.

Marvelous answered 24/2, 2009 at 18:27 Comment(3)
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.Cuttler
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?Intellectuality
misread the message, cant edit the commentCuttler
W
0

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.

Wickedness answered 24/8, 2010 at 16:52 Comment(0)
I
-1

I cannot fathom why a .Net developer would use a Java CI tool. CruiseControl is a Java-centric tool a well. This is why CruiseControl.NET was created. .NET centric continuous-integration.

If you want to setup a tightly integrated system you will be writing your own plug-ins for the system to make it do exactly what you want.

e.g. Pull together all the version information you care about and then write out AssemblyInfo.cs files with the versions in them.

Inutile answered 13/2, 2011 at 18:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.