# CI - Continuous Integration CI is an acronym for Continuous Integration. It's the set of tools that help a team test the software, ensure that desired criteria, such as code quality, coverage, security, or requirements are met, automatically, as soon and often as possible, in order to make each iteration small. With more checkpoint, there is more control with over a lower amont of changes. Instead of working for 2 weeks on a feature, CI helps challenge those changes with builds, tests and validation often and automatically. It leads to better code early, and improve visibility of everyone on the state of the change. CI goal is to integrate changes into the source code repository where everything is needed to build to software. Small code iterations reduce the amount of conflict possible while keeping the feedback loop to detect and fix potential bugs short. Everything can be tested, all the time, even building the entire solution, at each change, helping detect any defect such as incompatible dependencies, missing packages, misconfiguration, etc. Automated tests can be perform on both the package software and the source code, allowing end-to-end testing as well as unit testing of specific and critical components. --- Bibliography: - [What is continuous integration (CI)? - gitlab.com](https://about.gitlab.com/topics/ci-cd/benefits-continuous-integration/)