Continuous Integration in MEDICO
I am a fan of automatic quality assessment since I had been involved in software quality assessment in an internship in a small software company in Munich in 2001.
In the last two months we set up a number of components and services at DFKI for Continuous Integration. Now, our system looks like this:

Part 1: Migrate the complete code base to Maven2
We are using Eclipse and Java. Thus the migration to Maven2 was rather straigtforward. Maven provides us with a declarative build and dependency management. Some of our software projects have dependencies to more than 100 external libraries. Before Maven, this resulted in a JAR hell of more than 100 JARs checked into our SVN, sometimes with conflicting versions.
In Maven, you just specify the direct dependencies to external libraries (in Maven’s terminology: “artifacts”). Maven then takes care to download them and even the transitive dependencies of them.
Part 2: Setup a common repository for Maven2 artifacts
We use Artifactory version 2 to store our own artifacts and cache artifacts from others.
Our artifactory is online at http://www.dfki.uni-kl.de/artifactory2/

Part 3: Use SVN as a Source Code Management System
We use trac as an integrated Wiki, ticket and source code management system. All changes and commits are communicated via email to all project members.

Part 4: Hudson as a Continuous Integration server
Hudson continuously checks the SVN for changes. Whenever code has been changed, it checks out the latest version, runs all JUnit tests, creates reports about the code style, code coverage with JUnit tests, etc. and tries to build the application. If this fails, everybody gets an email with the error messages and the name of the user who commited the code that broke everything.

I’ve already described the setup of the Continuous Integration server Hudson on Debian Linux. Our Hudson instance is available via internet: http://www.dfki.uni-kl.de/hudson/
February 19th, 2009 at 3:52 pm
[...] full source code documentation is updated automatically after each svn commit using Hudson and is available on the Project Report [...]
March 29th, 2009 at 2:08 pm
[...] moving all MEDICO related code to Maven2 and adopting a Continuous Integration cycle for it, I decided to take the next step and perform automatic code Monitoring with Sonar. We had [...]