Continuous Integration

In this article, you will learn everything about Continuous Integration (CI).

What is  Continuous Integration (CI)?

A software system is made up of multiple components. When developing such system, each developer works on different components. Each developer makes several changes locally. It is very easy to test individual components. But problem arises when we integrate components. During integration, builds tend to break as many changes from many developers are integrated at once.

To resolve such issues, continuous integration was introduced. In this approach, all developers push their changes very frequently to the shared repository (Version control system like git server). CI server polls VCS system to see if there are any changes regularly. If changes are detected, builds are run immediately. So if the build fails due to certain change, we get to know about the problem very quickly.

Below image will help you understand the concept of CI.

CI server concept

CI server concept

Popular  Continuous Integration (CI) servers

Here is the list of Popular CI servers.

  1. TeamCity
  2. Bamboo
  3. Jenkins

Advantages of Continuous Integration (CI)

  1. Quick feedback to the stakeholders about any build failures
  2. Early detection of problems saves time and money