CircleCI’s mission is to manage change so software teams can innovate faster. CircleCI empowers technology-driven organizations to do their best work — and make engineering teams more productive and innovative by managing change. CircleCI provides enterprise-class support and services, and works where you work: Linux, macOS, Android, and Windows - in the cloud or on your servers.
Build, test, and deploy by using intelligent automation.
What is CI/CD?
Continuous integration (CI) is a practice that integrates code into a chosen branch of a shared repository, early and often. Instead of building out features in isolation and integrating them at the end of a development cycle, code is integrated with the shared repository by developers multiple times throughout the day by committing daily to a shared mainline. Every commit triggers automated tests and builds. If these fail, they can be repaired quickly.
Continuous delivery (CD) is a practice that produces reliable releases to a chosen development environment, like a staging or production branch.
The CI/CD process allows developers to release higher quality, more stable products.
CircleCI in your workflow
A software repository on a supported version control system (VCS) needs to be authorized and added as a project on circleci.com. Every code change then triggers automated tests in a clean container or virtual machine. CircleCI runs each job in a separate container or virtual machine.
CircleCI sends an email notification of success or failure after the tests complete. CircleCI also includes integrated Slack and IRC notifications. Code test coverage results are available from the details page for any project for which a reporting library is added.
CircleCI may be configured to deploy code to various environments, including (but not limited to):
AWS EC2 Container Service (ECS)
Google Cloud Platform (GCP)
Azure Container Registry
The orbs registry contains packages of reusable configuration that can be used for common deployment targets. Orbs simplify and streamline your configuration.
Other cloud service deployments can be scripted using SSH, or by installing the API client of the service with your job configuration.