Typically CircleCI is used to do 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:
Software Testing in general is a huge topic with tons of concepts.
If your tests pass, then you can deploy your code to development, staging, production, etc… the specific way that you do this depends on what type of infrastructure you are deploying too. I think that Heroku is easiest to understand and our default integration is simple to set up.
How does CircleCI help you
Now that we have a basic context of what CI and CD is, we can talk about how CircleCI fits into this picture. CircleCI integrates with your version control system (in this case GitHub) and automatically runs a series of steps every time that we detect a change to your repository (when you push commits).
A CircleCI build consists of a series of steps which are generally:
We have some inference that can detect these automatically if you are using best practices for standard projects. You can also configure each of these phases manually.
I hope this clears things up a bit. Good luck in your CI journey