Continuous Integration



Learn about Multi-Stage Continuous Integration with AccuRev »

Continuous integration, one of the foundational aspects of Agile software development methodologies, is defined by Martin Fowler to be "a fully automated and reproducible build, including testing, that runs many times a day.  This allows each developer to integrate daily, thus reducing integration problems."  By extending the idea of a nightly build, where code changes are built and tested nightly, continuous integration helps reduce integration problems and identify and resolve problems more quickly.

With continuous integration, developers are encouraged to update the shared source code repository frequently, ideally several times per day.  After each update, there is an automated build and test cycle.  The results of the build and testing are reported to the entire team.  This provides teams with one of the key advantages of Software Process Automation, improved communication about the quality of the committed changes.  Since developers are aware of problems earlier and there are fewer changes to look through when debugging an issue, there are typically fewer bugs both during the development process and in the production code.

AccuRev enables continuous integration through several important features:

  • Stream architecture allows for easy creation and management of a multistage continuous integration code hierarchy. This provides build and release managers with the ability to build code at various stages in the development process and to control visually how code moves from development to test through release
  • Continuous IntegrationPrivate developer workspaces isolate in-progress (and typically less stable) code from completed code and give developers full SCM functionality to protect their work
  • Change packages that enable engineering, build and release managers to quickly determine which logical changes are present in a given release stream, eliminating time-consuming file-based manual processes that delay software releases
  • Straight-forward integration with most popular build tools via the AccuRev Command Line Interface
  • Stream architecture enables build manager to determine changes between stages in the continuous integration hierarchy and automatically promote stable changes up the hierarchy