What is Continuous Integration?

Software testing 101

What is Continuous Integration?

What is Continuous Integration?

According to Continuous Delivery, Deployment, Integration and Testing: Deciphering DevOps Terminology, Continuous Integration (along with Continuous Testing) allows for Continuous Delivery (and therefore Continuous Deployment) by regularly integrating every new feature that gets developed back into the master code branch.

Essentially, Continuous Integration creates a regular feedback look so that the master code branch picks up any changes and merges those changes with the existing code. It creates an iterative process in which changes get added in piecemeal as they’re ready, rather than all in one big bang. This process not only allows for changes to get added in faster and more often from various contributors, but it also makes it easier to identify the source of any problems should an issue arise. As a result, merging changes with the master branch as often as possible and confirming those changes work by regularly running automated tests are critical to a smooth continuous integration environment.

Popular tools used for continuous integration include JenkinsTeamCItyTravis CIGitlab,  GO CD, and Bamboo.

Continuous Integration and Continuous Testing

Continuous Integration and Continuous Testing go hand-in-hand: an automated process gets the latest batch of changes, builds the applications, then tests it. This testing typically focuses on regression testing, which provides the team fast feedback on whether new/modified code broke existing functionality.

While Continuous Integration is primarily a tool-driven activity and Continuous Delivery is a tool- and team-driven activity, Continuous Testing involves tools, teams, individuals, and services. Building and integrating code changes is certainly important. However, if the automated delivery process cannot identify how changes impact business risk or disrupt the end-user experience, then the increased frequency and speed of Continuous Integration and Continuous Delivery could become more of a liability than an asset.

Continuous Integration Resources