English 中文(简体)
What are solid NMaven or build servers for .NET alternatives?
原标题:

Maven had a long history and is well supported in the Java world. NMaven has received a less successful start and has never become as popular in the C#/.NET world as its larger cousin was in the Java world. The project seems close to dead(ish), but maybe I m wrong.

Are there alternatives that, preferably using NAnt, are commonly used in favor of NMaven and have similar properties as Maven? What I m looking for is a good open source automatic build server for .NET, if any exists. Or should I continue using NMaven?

最佳回答

MAven is more a repository manager than a CI/Build setup.

If you re looking for continuous integration servers, here are the ones I know of:

  • CruiseControl.Net (http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET) Good enough, free, but can be a resource hog and configuration is sometimes maddening.
  • Hudson ( http://hudson-ci.org/ ) has some pretty good .Net specific tasks. As a open source/free automatic build setup I tend to favor it over CruiseControl.Net. It needs Java to run, but it runs fine on Windows. The web dashboard is nice (albeit with that strange fetish for blue instead of green) and project configuration is a breeze (compared to CCNet...)
  • TeamCity (JetBrains) (http://www.jetbrains.com/teamcity/) is really good, offers a lot of interesting features (private remote builds before committing, distributed build agents, etc.) and nice VS.Net integration. You have to pay for a license but it s free for small teams.

All of these support the most popular SCM (CVS, SVN) Hudson and TeamCity support Mercurial and Git.

I d go for Hudson or TeamCity.

问题回答

For continuous integration and creating builds TeamCity is nice and free for smaller operations (up to 3 build agents). It s powerful, supports NAnt and friends (e.g. MSBuild) out of the box, and it s best feature is ease of use and configuration. Even upgrades are painless.

The rub is that it isn t completely free, and if you need more features (e.g. more than 3 build agents) it costs.

Also, you ask about a Maven replacement - it won t handle dependencies like Maven does.

We use CruiseControl.NET (with a little NAnt thrown in). It is open source (Apache/BSD), solid, popular, and under active development.

It s designed for Continuous Integration, but builds can easily be manually triggered if you prefer.

Configuration is via an XML file.

You might want to look at our Parabuild. It is not open source but it is free for small teams, support included.

You might like to look at NPanday, which is being actively worked on. It will work with any build server that Maven does.

NMaven is abandoned and NPanday is its continuation.





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签