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?
相关问题
- Generic Generics in Managed C++
- How to Debug/Register a Permanent WMI Event Which
- 'System.Threading.ThreadAbortException' in
- Bulk update SQL Server C#
- Should I use static function in c# where many call
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#.
I've checked the hudson support for xunit testing frameworks a short summary is included below:
So I think I'm going to give the CC.Net a try.
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
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
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.
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.