Continuous Integration (CI) is a software development process where all code changes that are posted to the Source Code Control System (SCCS) server are compiled to ensure no inconsistencies.
Implementing CI as a business process in your product development, is quickly becoming the industry standard as another method to ensure quality work.
The reason CI brings value to your software development process is because it’s always checking the existing code-base to ensure it’s compiling. It’s like having another developer on your team that their only purpose is to sit and look for changes in y our SCCS and run a solution rebuild and look for errors. In addition to looking for compile errors it can also run unit tests, installation scripts, code coverage, FxCop coding standards checks, the list goes on and on.
To add CI to your software project, all you need is a dedicated build server or workstation (the faster and more powerful the machine the better), CI software such as CruiseControl .Net by ThoughtWorks, and CC Tray also by ThoughWorks.
CruiseControl.Net will check for any changes to your source control and kickoff a build of the solution. While this build is running, the CCTray application (which is an application that runs in your System Tray) will visually notify you of its status. If the build fails you’ll be immediately notified of the failure by a System Tray popup as well as a log you can view that outlines who checked in the files and what the build errors were.
Steps to add Continuous Integration into your development process:
- Install CruiseControl.Net onto a dedicated PC that’s not actively being used by a developer.
- Setup CruiseControl.Net to integrate with the Source Code Control System of your choice.
- Install CC Tray on each developers computer, pointing it to the build server (machine you just installed CruiseControl.Net onto).
- That’s it, you’re done. Ready to start building quality software.
I’ll write more in a later post on the finer details of Continuous Integration and some gotchas to look out for.










Twitter Updates

Written by Victor Boba
Topics: Programming Concepts