Great CI Tool for Small Companies
August 16, 2017

Great CI Tool for Small Companies

Valeri Karpov | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with CircleCI

Our Engineering team uses CircleCI to run tests on every commit to GitHub, and deploy to development and production environments depending on which branch the tests were run on. Standard use case for CI/CD. CircleCI integrates tightly with GitHub to run our tests, linter, etc. automatically for every pull request and every time we merge to development and master branches.
  • GitHub integration is seamless. Never had a problem with it missing commits.
  • Robust test environment. I used Travis in the past but tests would sporadically time out for no clear reason, haven't had that happen with CircleCI
  • Poweful YAML-based configuration in the GitHub repo itself. I don't like CI tools like Semaphore that push you into managing your CI/CD through a web UI, I prefer managing a config file and never having to log in to the CI tool.
  • The "phases" their config file uses to separate out options seem very arbitrary and are not very helpful for organizing your config file
  • No way that I know of to configure which version of MongoDB you use. You have to write your own shell script to download and start MongoDB if you want a specific version.
  • Hard to access build artifacts in the UI
  • Saves us a lot of time and reduces potential mistakes by making our deployment and QA process completely automated
  • Builds docker images for us so we don't have to build them locally on our machines
  • Runs tests automatically on every commit, so we catch mistakes early
Jenkins is usually self-hosted, Travis CI's infrastructure is largely unreliable (lots of tests time out for no discernable reason), and Semaphore encourages you to configure your CI/CD from a web UI. We like CircleCI because its hosted, our tests run largely as expected on their infrastructure, and we can configure it from a config file that we track in GitHub.
CircleCI is an excellent tool for generic CI/CD. It integrates well with GitHub, runs your tests, and gives you the ability to deploy when your tests succeed on a certain branch. It doesn't really offer anything more sophisticated than that, I've seen CI tools that will actually try to bisect test failures for you, CircleCI will definitely not do anything that sophisticated. But it executes well on the relatively simple (at least from a customer perspective) use case of running tests on every commit and executing special hooks when they succeed.