• My collegue and I have a single point of definition of our sourcecode, called a repository. (SubVersion)
  • There is a process running which monitors the repository for changes. This process runs every 5 minutes. When either of us commits something to the repository the process picks this up and initiates a build. (The process is CruiseControl.)
  • When a build is ran a lot of things get done. First the most recent changes are updated from the repository. Second, everything gets built. Third a lot of data is gathered about the current state of the code: metrics, unit tests results, unit test failures, changelog, developer activity. Fourth, all the data is formatted to a web page and published to a well known location. Fifth, an email message gets sent to me and my collegue. (All done by Maven with exception of the publish and mail action, this is done by CruiseControl.)