Continuous integration (CI) is the practice of frequently building and testing each change made to a codebase. Continuous integration involves developers uploading new code, or code changes, to a common code repository, which is then tested automatically at the time of upload to ensure changes do not cause issues or breaks. By automating tests, users ensure immediately their code is sound and that important software features are operating as expected. By consolidating code to a unified source and testing for code flaws early on in a project or sprint, development teams can save time and prevent delays in the delivery of new software, applications, and features.
Continuous integration systems are an early part of the DevOps workflow that are uniquely defined by each company. They often work seamlessly alongside configuration management software, continuous delivery software, and continuous deployment software.
To qualify for inclusion in the Continuous Integration category, a product must:
- Allow developers to consolidate code in a shared code repository
- Perform automated tests against newly written code
- Show a list of tests that have passed and failed
- Perform all the necessary actions to create a fully functioning build of the software when all tests have passed