Circle CI is recommended as the default choice for cloud-hosted CI/CD systems. It is a mature product, but still retains the cleanliness and modernity of design which makes it so easy to use well.
Key advantages are:
- Rich configuration as code.
- Container-based deployments, with the ability to bring your own containers and built-in performance optimisations, and ways to orchestrate multiple containers for tasks such as integration testing.
- (relatively) Good user interface.
- Excellent GitHub (and other git system) integration which enables workflows such as only allowing merge if build is green.
- Usable manual approval process.
- Mac OS hosts are available meaning it can be used for building MacOS/iOS projects.
The only significant disadvantages are:
- Price can be higher than other solutions, depending on chosen plan and usage.
- Credentials to deploy to cloud or other environments must be configured in Circle CI and it is not possible to guarantee these don't leak. This is a fundamental limitation of systems which lack deep integration with hosting environments. This is acceptable in some cases, but is clearly not as good as solutions which have the strong guarantee of environment-provided credentials, e.g. for self-hosted systems running within your cloud or other infrastructure, or for native cloud solutions such as AWS Developer Tools.