Overall Satisfaction with CircleCI
We use CircleCI to allow for continuous integration across all of our software applications and environments. CircleCI allows us to build complex workflows, including steps to run pre-deploy / post-deploy scripts, execute test suites, and send slack notifications. With Circle, we can ensure code that is "broken" doesn't make it's way out, so we can be more confident that we are shipping bug-free code.
- Multiple builds can be run at the same time in parallel.
- The CircleCI web interface (UI/UX) is very easy to understand and use.
- Easy Configuration to learn and use. Just a single configuration YAML file.
- Many integrations. We use the GItHub, Slack, and DataDog integrations.
- While configuration is easy, the config files can get very very long.
- Price compared to some alternatives that are cheaper / free. Especially so if you are running multiple containers in parallel.
- Have experienced numerous outages (3-5) in the last few months where CircleCI has been down.
- Web documentation and tutorials haven't been as good as some of the competitors.
- Continuous Integration saves time for developers to manually handle deploying code.
- Ability to build complex workflows with test suites catches bugs before they get to production - saving a lot of headache.
- The integrations with Slack and DataDog keep the entire company informed of builds and deploys, increasing our awareness and efficiency.
CircleCI does a lot of what we need it to do; however, I believe Jenkins is a better Continuous Integration tool. Jenkins has more capabilities and integrations. In addition, Jenkins is a much more widely used tool, which means more developers are familiar with it and have experience using it. This translates to quicker development and a faster/better ROI.