views:

228

answers:

7

Google says there are:

  • Hudson ( first impression: not lightweight )
  • Cruise control ( first impression: not lightweight )
  • Bitten ( seems to be dead, last ticket >8 months old)
  • BuildBot

But BuildBot seems a bit outdated, offering no statistics, not very intuitive to configure... Features we are interessted in are:

  • Multi platform support for build slaves: Linux, Mac OS X, Windows
  • Easy build slave setup
  • Mercurial support with branch sensitivity
  • Scheduled builds
  • Commit-hook builds
  • Email notification with full debug output
  • Trac integration would be nice but is not a must-have feature
+1  A: 

I have used BuildBot. My experience has been good with it. Installation is a breeze. It uses configuration to setup the master, slave and has various means for communicating result from publishing on web to mail integration.

I have blogged about the buildbot setup. I find it easy. There are few dependencies like twisted that needs to be taken care of.

[Edit: I tried to put together a post on how to configure BuildBot - master.cfg]

pyfunc
+3  A: 

Google says there are: [...]

There is a huge wikipedia page on CI software comparison:

http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software

Personally I am also using buildbot and I think it could fulfill all of your requirements. It's a bit of work to setup because it is a distributed application but frankly as pyfunc said it's a breeze to setup a new slave once you know what two commands to type (one is an "easy_install", the other one a "buildbot create-slave" with the right options).

Also it is still under heavy development and I chose it because it is easily extensible, whereas XML-based tools are confined to the types of build specs which were coded in the tool: perfect for Java/Ant/Maven projects but it can be limited for slightly more complex ones (e.g., involving DB, or embedded software, etc.).

Hope it'll help.

Cheers,
Christophe.

= The act of automating doesn't solve problems, it just automates them --Joseph Weizenbaum =

Christophe Muller
+3  A: 

I have used Hudson with Mercurial and found it to be excellent. The Feeds, web site, status reports, etc. were all "just the right size" for us in a 20 person shop. Just run it in a VM and forget about it; we did.

Ry4an
+2  A: 

TeamCity by JetBrains.

OliBlogger
+8  A: 

Hudson is my recommendation. It's easy to setup and use, it's free, there are a large amount of third-party plugins and good community support.

Bernard
+2  A: 

As others have recommended, Hudson satisfies your list of requirements. There's also a plugin for Trac integration.

Regarding "lightweight", Hudson configuration is not XML hell. You can do everything via the Web interface. So it's very easy to get up and running.

Hudson's plugin architecture provides a lot of extension points and integration with other tools. (Although it can be a pain to sort through all the possibilities for the plugin that has the behavior you need.)

You can also script it through the remote access API. This is a powerful way to introduce new behavior for your environment without needing to dive into writing a plugin.

Dave Bacher
A: 

Our free hosted CI environment (fazend.com) is powered by CruiseControl 2.8.3, which is a free open-source product, written in Java. One of its benefits (for us) is that it doesn't need any database, everything is in files.

Vincenzo
At first I just see that subversion is mentioned as VCS, at least from Trac I know that also Mercurial is possible, does this framework provides also Mercurial support?
brubelsabs
@brubelsabs At this time only Subversion is supported.
Vincenzo