Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top