Continuous Integration

ContinuousIntegrationWe use continuous integration as part of the software development and maintenance workflow. A continuous integration server monitors the revision control database waiting for developers to make changes. As changes are detected, the build server gets a copy of the changes and then automatically builds and tests all of the software products that have been changed. Our build server also automatically builds an installable release of the software products we maintain.

This provides immediate feedback to the development team as to the health of the development system for the software products we maintain. If a developer makes a change that say works fine in the application they are working but introduces a fault in another application, the team will be informed soon after a check-in occurs.

We use the Cruise Control.NET software made available by the nice people at Thoughtworks on our build server. Each developer runs a small Cruise Control application in their Windows tray that provides notifications of build status changes. In addition there is a web based control panel for viewing the status of the build servers and performing actions such as forcing a build to occur.