Continuous Integration [CI]
In software development, Continuous Integration is the practice of merging all developers’ working code to the main or head branch several times a day. This makes other practices from Automated Builds -> Continuous Delivery possible. Note: contrary to popular belief, Continuous Integration is the habit of frequent checkins and not the build automation. The automated builds are the supporting tools that make CI practical.
CI works by increasing the frequency of integration, so that most changes are small. Anything that works against that pattern (e.g. infrequent checkins, long-lived code branches, etc.) will harm the team and their code base.
Resource Links
- Continuous Integration - Martin Fowler
- Continuous Integration Patterns and Anti-Patterns - Continuous Integrations! Where to Start?
- It’s Not CI, It’s Just CI Theatre
- Keep your code spotless with Gradle - Key Principles for Reducing Continuous Integration Build Time
- What is database continuous integration?
- Why Distributed CI is the Logical Next Step