Introduction to Continuous Integration and CircleCI

CircleCI acts as a platform for both Continuous Integration and Continuous Deployment.

Continuous Integration

The general idea is to test all changes that you are making to your code base. You can accomplish this with:

In general, Software Testing is a huge topic with tons of concepts. The way that you write tests varies depending on what language and framework you are using.

Continuous Deployment

If your tests pass, then you can deploy your code to development, staging, production, or other environments. The way you do this will depend on the infrastructure you are deploying to. Some examples:

CircleCI’s Role

Now that we have some context on CI and CD, we can discuss how CircleCI fits into this flow.

CircleCI integrates with your version control system (GitHub/Bitbucket) and automatically runs a series of steps every time a change is detected in the repository (e.g., when you push commits or open a PR).

A CircleCI build consists of a series of steps which are generally:

  • Dependencies
  • Testing
  • Deployment

If you are using best practices for your project, CircleCI will infer settings automatically. You can also configure each phase manually.