Introduction to Continuous Integration and CircleCI
CircleCI acts as a platform for both Continuous Integration and Continuous Deployment.
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.
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:
- AWS CodeDeploy
- AWS EC2 Container Service (ECS)
- AWS S3
- Google Container Engine (GKE)
- Deploy Using SSH
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:
If you are using best practices for your project, CircleCI will infer settings automatically. You can also configure each phase manually.