Search code examples
continuous-integrationbuild-management

Managing multiple versions in cruise-control, team city, etc


In my shop (as I expect it is in most), you have multiple releases of different software components (let's call them foo-client and bar-service). In my cc.net configuration, I currently have one "project" for foo-client at trunk, one project for foo-client version 1.0 and another for foo-client version 1.1.

What I'd really like to see at the dashboard level is something like:

  • foo-client

  • bar-server

With the ability to drill down into either foo-client or bar-server. The rollup would show the status of the last continuous build and I could review and/or force a new build for an existing tagged version.

What are you guys doing and under what build management framework?


Solution

  • You might want to take a look at Hudson (which supports MSbuild's via a plugin) - it can be deployed to a Java application server (recommend: Glassfish or Tomcat).

    It takes about 5-15 minutes to download, unzip, and deploy - and then you are ready to begin defining project builds.

    There are quite a large number of plugins to extend the basic functionality - and the development team seems to release new features / bug fixes on a 3-4 day release schedule - so the code vitality is very high.

    http://hudson-ci.org/

    Within the Glassfish dashboard - you can organize your projects via a tab specific to the project root name that you might want to define - and then you can easily achieve the organizational structure you appear to want.