continuous integration
2 of our books and 3 talks define this term — and their definitions are worth reading side by side.
is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
— DevOps for the Modern Enterprise, Mirco Hering
Continuous integration is the principle of ensuring every commit attempts to validate a predefined success criteria as if it was already the truth before it becomes the truth
— How to Use GitOps, in the text
as a developer makes a change to the software, their change is automatically compiled and automatically built as a part of the build process
— Scott Prugh · DevOps & Modernization - An Engineering Excellence Story, Las Vegas 2019 · at 23:37
Continuous integration is super hard. It's not running Jenkins on your feature branches and then ignoring the build when it goes red. It's making sure that your software is always in a working state, and that you prioritize keeping it working over doing new work.
— Jez Humble · Architecting for Continuous Delivery, San Francisco 2015 · at 6:42
tested changes integrate into the trunk at least daily
— Bryan Finster · Minimum Viable Continuous Delivery, Virtual US 2022 · at 10:25
See also integration · Jenkins · monolithic build · abstract environment configuration · bimodal IT · black box mode
Filed under DevOps & Delivery