views:

372

answers:

6

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?

+3  A: 

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.

Colin Pickard
I was under the impression that CruiseControl was _not_ open source, instead, was closed source from Confluence (same as Jira, right?). Anyway, it seems that I was wrong. Would be great if I could use CC for this project.
Abel
No CCNet is Open Source. The Atlassian build server is Bamboo.
Yann Schwartz
According to http://sourceforge.net/projects/ccnet/ (the site linked to for downloads), its APL/BSD like Colin said.
mwalling
I had the names mixed, you're right (Confluence, the product, instead of Atlassian, the company) and my mind linked it to CCNet. Thanks for the clarification.
Abel
+6  A: 

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.

Yann Schwartz
Yes, I _am_ actually looking for build / integration servers (and I did use Maven plus some tools to achieve that in the past). Can you elaborate a bit on why you prefer either Hudson or TeamCity? I know CruiseControl, but don't know the others.
Abel
TeamCity and Hudson are a lot easier to set up and configure. They offer web-based configuration dashboards making it easy to tweak or had build chains. Ccnet setup involves a lot of xml files editing and trial and error. Or you end up writing your own configuration front end for it. CCnet is fine, but dealing with its configuration is really tedious. The only advantage ccnet may have over the others is that it's purely .net based. But I've never found someting that lacked in Hudson or Team City regarding .net specific tasks.
Yann Schwartz
Thanks for your updates, it will take a while before we have made the actual decision, but this was helpful. Thanks.
Abel
+2  A: 

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.

orip
+1  A: 

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

Slava Imeshev
+1 looks rather promising. Thanks for adding this to the thread!
Abel
A: 

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

Brett Porter
A: 

NMaven is abandoned and NPanday is its continuation.