Continuous integration Created 2026-10-20 Updated 2026-11-05
Continuous integration is a software engineering practice in which collaborators frequently combine small changes into a shared main line, conventionally at least daily, and check each integration through an automated software build and software testing. Fast feedback makes incompatible assumptions visible while the changes are still small. A server that tests isolated development branches contributes automation; frequent integration into the shared main line is the defining collaboration practice.[ref]
Continuous Integration by Martin Fowler. Definition and sections on mainline integration and automated builds
For example, one developer changes a parser to return a new data structure, while another changes code that consumes the result. Each component can pass its own isolated unit tests while their combination fails. Integration testing of the shared revision exercises that interface and exposes the mismatch. The build result should identify the tested source revision so that a failure can be reproduced.