CircleCI is a software delivery engine from the company of the same name in San Francisco, that helps teams ship software faster, offering their platform for Continuous Integration and Continuous Delivery (CI/CD). Ultimately, the solution helps to map every source of change for software teams, so they can accelerate innovation and growth.
$0
for up to 6,000 build minutes and up to 5 active users per month
Git
Score 10.0 out of 10
N/A
N/A
N/A
Jenkins
Score 8.4 out of 10
N/A
Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.
Circle was the first CI with simple setup, great documentation, and tight integration with GitHub. Using Jenkins was too much maintenance and overhead, TeamCity was limited in how we could customize it and run concurrent builds, TravisCI was not available for private repos when …
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 …
Since CircleCI gave us its infrastructure we don't have to worry about servers, provisioning and maintenance. Also CircleCI provides us great features to increase speed of builds by adding more containers to the build. Jenkins is the best open source alternative but it requires …
Not having to manage / deal with a Jenkins server is fantastic. I don't have much personally against Jenkins. I've set up and run a Jenkins server before. It's just complexity that doesn't really have much to do with the business beyond getting our software to our customers. My …
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 …
CircleCI is a sass product which means you don't need to maintain your own servers. This can also be a negative as you are dependent on their service. This also means you can't ssh into a machine to see what went wrong like you can with Jenkins. However for most users this …
CircleCI shines with its specialized infrastructure. Its dedicated macOS runners ensure blazing-fast iOS builds, while intelligent Docker layer caching significantly reduces backend build times and costs. The ability to SSH directly into failed builds dramatically accelerates …
CircleCI seemed to have a quicker setup than other similar products, with a good integration with GitHub repos. Projects are quick and easy to set up within the UI, and workflows can then be created off the back of those fairly intuitively. Clever interpretation of commit …
CircleCI is the company that is innovating compared to the other ones. I think it's a great piece of software compared to other open source options that don't have as much functionality and improved capability over time.
Travis has full YML configuration in areas where CircleCI is slightly lacking still, which is great, but CircleCI offers more features, settings, and potential performance.
Codeship is simpler to use, you can use it entirely from their UI without modifying your Git repository at …
The biggest downside to CircleCI is that it doesn't support parameterized builds, that is testing your code against language version X and Y, or framework version A and B. Beyond that, it is really a great product.
After using Subversion previously for a number of years, Git comes across as the new and improved source control approach. Git seems very suited to working with Agile:- branches can be created easily, allowing multiple developers to switch to them quickly, and having local …
Git is by far the best version control system out there. It's open source, free, and fast. No other version control system I've ever used has had all three features.
Git is my favorite among all of the version control systems out there. It follows the Linux software philosophy of being built by many loosely coupled and small components that do one thing well. It's incredibly open, and its adoption in the open source community seems to be …
When looking for alternatives for Jenkins we found CircleCI and TeamCity are good too. Jenkins was considered for reasons like it has a wide variety of plugins which integrate well with any kind of system. And its ease of use.
One of the other greater advantage is it is open …
Originally Jenkins was selected because it was the best around, but it has since been outclassed by more specific services or cloud-based services and tools that will do all of the heavy lifting for you. Jenkins still has a use case - but it's hard to argue the additional …
Jenkins has been my favorite continuous integration tool I've used. It's easy to setup, intuitive to use, and very powerful. The software allows for building complex workflows, then having them run without thinking about it. This leads to savings in time and resources, and to …
Jenkins immense flexibility and its large and impressive selection of available community-driven plugins makes it ideal choice for solving non-traditional problems.
However, for CI/CD - consider the benefit of modern tools that enforce reusable, infrastructure as code design …
Basically all those CI/CD tools provides the same set of tooling. SaaS solutions have a pre set pool of languages and containers you can use, but hey also are less flexible because they will not allow you to do advance configurations or setups you may need. With jenkins you have …
I have experience with TeamCity. It looks pretty good after Jenkins, the user interface is friendly and modern. The functionality is similar to Jenkins. It is not a big problem to migrate configuration from Jenkins to TeamCity or to return back. You need licenses to use it in …
Based on our experience, CircleCI is well-suited for automating mobile app release cycles. For example, to release an iOS app, you would need to build, sign, and upload it to TestFlight, which requires a dedicated Mac in the office. But with CircleCI, you can have macOS executors, so you don't have to manage a physical build machine. Another benefit is that CircleCI's certified AWS Orbs abstract away complex authentication and deployment logic, allowing us to build, push, and deploy Docker containers to Amazon ECS with minimal configuration and high reliability. CircleCI is less suited for smaller projects where the development and deployment are not that extensive, for example, a static site. Once you have built a static site, you probably won't make any further changes, so there's no point in paying for it.
GIT is good to be used for faster and high availability operations during code release cycle. Git provides a complete replica of the repository on the developer's local system which is why every developer will have complete repository available for quick access on his system and they can merge the specific branches that they have worked on back to the centralized repository. The limitations with GIT are seen when checking in large files.
Jenkins is a highly customizable CI/CD tool with excellent community support. One can use Jenkins to build and deploy monolith services to microservices with ease. It can handle multiple "builds" per agent simultaneously, but the process can be resource hungry, and you need some impressive specs server for that. With Jenkins, you can automate almost any task. Also, as it is an open source, we can save a load of money by not spending on enterprise CI/CD tools.
Automated builds! This is really why you get CircleCI, to automate the build process. This makes building your application far more reliable and repeatable. It can also run tests and verify your application is working as expected.
Simple. Unlike Jenkins, Teamcity, or other platforms, CircleCI doesn't need a lot of setup. It's completely hosted, so there's no infrastructure to set up. The config file does take a bit to understand, but if you follow their example and start with something small and add to it, you can get it up and going quicker than it first looks.
Scales easily. Again, since it's all cloud-based, you don't have to manage or scale infrastructure. Simply subscribe to the number of containers you want, and scaling up just means buying more containers.
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
Git has met all standards for a source control tool and even exceeded those standards. Git is so integrated with our work that I can't imagine a day without it.
We have a certain buy-in as we have made a lot of integrations and useful tools around jenkins, so it would cost us quite some time to change to another tool. Besides that, it is very versatile, and once you have things set up, it feels unnecessary to change tool. It is also a plus that it is open source.
The reliability & speed, it just works. The ability to spin up macOS runners and Docker containers on demand without managing hardware is a huge win. The Orbs system makes integrating with AWS and Slack incredibly easy, saving us weeks of custom scripting and providing real-time updates in our Slack channel. This makes it easy for us to track and ensures that everyone involved knows the status. Of course, it has drawbacks related to configuration complexity and, in some cases, cost transparency, but overall, it is an industry-standard, robust tool that solves our core infrastructure problems well.
Jenkins streamlines development and provides end to end automated integration and deployment. It even supports Docker and Kubernetes using which container instances can be managed effectively. It is easy to add documentation and apply role based access to files and services using Jenkins giving full control to the users. Any deviation can be easily tracked using the audit logs.
It's pretty snappy, even with using workflows with multiple steps and different docker images. I've seen builds take a long time if it's really involved, but from what I can tell, it's still at least on par if not faster than other build tools.
No, when we integrated this with GitHub, it becomes more easy and smart to manage and control our workforce. Our distributed workforce is now streamlined to a single bucket. All of our codes and production outputs are now automatically synced with all the workers. There are many cases when our in-house team makes changes in the release, our remote workers make another release with other environment variables. So it is better to get all of the work in control.
Unless you have a reasonably large account, you're going to be mainly stuck reading their documentation. Which has improved somewhat over the years but is still extremely limited compared to a platform like Digital Ocean who invested in the documentation and a community to ensure it's kept up to date. If you can't find your answer there, you can be stuck.
I am not sure what the official Git support channels are like as I have never needed to use any official support. Because Git is so popular among all developers now, it is pretty easy to find the answer to almost any Git question with a quick Google search. I've never had trouble finding what I'm looking for.
As with all open source solutions, the support can be minimal and the information that you can find online can at times be misleading. Support may be one of the only real downsides to the overall software package. The user community can be helpful and is needed as the product is not the most user-friendly thing we have used.
It is worth well the time to setup Jenkins in a docker container. It is also well worth to take the time to move any "Jenkins configuration" into Jenkinsfiles and not take shortcuts.
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.
I've used both Apache Subversion & Git over the years and have maintained my allegiance to Git. Git is not objectively better than Subversion. It's different. The key difference is that it is decentralized. With Subversion, you have a problem here: The SVN Repository may be in a location you can't reach (behind a VPN, intranet - etc), you cannot commit. If you want to make a copy of your code, you have to literally copy/paste it. With Git, you do not have this problem. Your local copy is a repository, and you can commit to it and get all benefits of source control. When you regain connectivity to the main repository, you can commit against it. Another thing for consideration is that Git tracks content rather than files. Branches are lightweight and merging is easy, and I mean really easy. It's distributed, basically every repository is a branch. It's much easier to develop concurrently and collaboratively than with Subversion, in my opinion. It also makes offline development possible. It doesn't impose any workflow, as seen on the above linked website, there are many workflows possible with Git. A Subversion-style workflow is easily mimicked.
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/GitLab/Azure) provide other options but can obfuscate the process due to the lack of straightforward simplicity. In other areas (capability, power, customization), Jenkins keeps up with the competition and, in some areas, like customization, exceeds others.
We pay over $5K/ month and we have high expectations for service. Sometimes I feel that we don't get the value, but only sometimes.
We have had to build our own application to keep state and broker releases and deployments. We call our app deployer. I feel that CircleCI could do more to understand our needs and possibly build additional features that would enable us to invest less in build and deployment infrastructure and justify paying more for Circle.
Git has saved our organization countless hours having to manually trace code to a breaking change or manage conflicting changes. It has no equal when it comes to scalability or manageability.
Git has allowed our engineering team to build code reviews into its workflow by preventing a developer from approving or merging in their own code; instead, all proposed changes are reviewed by another engineer to assess the impact of the code and whether or not it should be merged in first. This greatly reduces the likelihood of breaking changes getting into production.
Git has at times created some confusion among developers about what to do if they accidentally commit a change they decide later they want to roll back. There are multiple ways to address this problem and the best available option may not be obvious in all cases.