Site Search

My status

News


Recent Articles



Advertisements


Continuous Integration


The practice of continuous integration is based around the concept of a single shared source repository, into which an entire development team constantly add to as they build the solution. Following test driven/test first practices, as developers and testers and code and tests to the repository, the build system periodically checks for these changes and build a entirely clean version of the solution using the latest source.

If the build is successful, the build system will then execute the entire range of automated tests to validate that the build works and is valid. Following the tests, the build system can then be used to measure and report on a wide range of metrics, including test coverage and code quality

The result of the build, test and measurement tasks are then reported via the build system so that everyone can see the results, and act on any failures

Continuous integration has many advantages:

  • When unit tests fail, or a bug is discovered, developers might revert the codebase back to a bug-free state, without wasting time debugging.
  • Integration problems are detected and fixed continuously - no last minute hiatus before release dates
  • Early warning of broken/incompatible code
  • Early warning of conflicting changes
  • Immediate unit testing of all changes
  • Constant availability of a "current" build for testing, demo, or release purposes
  • The immediate impact of checking in incomplete or broken code acts as an incentive to developers to learn to work more incrementally with shorter feedback cycles.>/