17 years helping British businesses
choose better software
CircleCI
What is CircleCI?
CircleCI is the worlds largest shared continuous integration and continuous delivery (CI/CD) platform, and the central hub where code moves from idea to delivery. As one of the most-used DevOps tools that processes more than 1 million builds a day, CircleCI has unique access to data on how engineering teams work, and how their code runs. Companies like Spotify, Coinbase, Stitch Fix, and BuzzFeed use us to improve engineering team productivity, release better products, and get to market faster.
Who Uses CircleCI?
Thousands of leading companies from startups to Fortune 10's including Kickstarter, Facebook, Spotify and Heroku trust CircleCI to automate their testing and development cycle.
Not sure about CircleCI?
Compare with a popular alternative
CircleCI
Reviews of CircleCI
Alternatives Considered:
Good for CI/CD and also for automating smaller tasks
Comments: We use CircleCI for our CI/CD pipeline almost every single day. It manages and runs automated tests for all the remote branches, so we can catch issues before they escalate. When ever something gets merged into our dev, staging or master branches, it auto tests, builds and deploy all the infrastructure with Terraform and pushes the newer version to docker.
Pros:
The pipelines can be broken into different steps, which makes debugging, managing and approving individual phases way easier. Also, looking at the logs and being able to share static permalinks to them is quite useful when you have larger teams. We all can see the progress of the building pipelines in real time and can debug and manage them. Great tool over all.
Cons:
Sometimes it fails and doesn't immediately let's you go to debug the issue. Also, some settings for the VMs are tricky to set up right.
Alternatives Considered:
Simple & efficient CI
Comments: Migrations was easy and straightforward. It works well. We were a bit startled because of the security issue they faced and we had to renew all of the secrets which was painful. Apart from that incident, we're happy. It's never been down for us (as opposed to Github).
Pros:
The setup of pipelines is very easy, especially with the orbs. Each pipeline is always code, so it's automatically versioned. We moved away from CodePipelines from AWS because it was too click-intensive.
Cons:
The permissions are simple: everything is copied from GitHub in our case. What seems at first convenient ends up quite confusing. And it's easy to get lost with security contexts. It would have been nice to be able to see who can perform what action from the Circle CI UI itself.
Alternatives Considered:
Does the job, but lacking in features
Pros:
It's relatively simple to get started. I like that you can pick between Docker and VMs. It integrates with GitHub nicely.
Cons:
The Docker in Docker paradigm doesn't work for us since we use containers. We end up using VMs anyways. I think the configuration language is not that great to use and can quickly get unwieldy for larger CI workflows (especially when repeating jobs with different parameters). There are also outages at least once a quarter.
Seamless Continuous Integration
Pros:
It's automation for testing and deployment is fantastic. It saved me a lot of time by running tests automatically after every code push.
Cons:
It took me a while to get my build scripts working correctly the first time.
Alternatives Considered:
CircleCI - For Simple, Easy & feature rich CI/CD
Comments: Overall I love CircleCI UI, ease of deployment & it is feature rich. Availability & execution parameterization can be improved.
Pros:
Best part of circleCI is the ease of continuous delivery feature it offers, it's very easy to integrate it with GitHub too. Another pro of CircleCI over other CI/CD tool like Jenkins is the simple yet feature rich UI. For beginners or pros, this workflow management tool is pretty simple yet futuristic. It also makes running automated test cases for different branches really easy before deployment.
Cons:
There is room for improvement in areas where Jenkins is already winning, like skipping parts of execution stages that are not required every time new change is pushed. Another one would be the execution time, using it with terraform to run plans & eventually apply, it can take hours if your infrastructure is complex & there is no way to actually divide it in stages. Better central monitoring & dashboard for different projects can be helpful, somewhat like Jenkins shows rainy, cloudy or clear skies signifying project health.