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.
$15
per month
TeamCity
Score 7.4 out of 10
N/A
TeamCity is a continuous integration server from Czeck company JetBrains.
CircleCI is well suited if you, your developer, or team of developers have already worked with it in the past. They don't need to go through the learning curve of yet another Continuous Integration tool. Circle handles Continuous Integration workflows very well, including pretty complex workflows. With that said, Circle can get expensive if you need to run multiple containers in parallel and might not be as easy to setup as some alternatives, such as Jenkins.
TeamCity is well suited for an organization using continuous integration, meaning you release code to production often, and an agile project management system. There are free versions available for small teams and enterprise versions available for large teams with many different builds. TeamCity is probably overkill for basic e-commerce or blog website builds that do not require much development after the initial launch
Full customization and scripting abilities. Using tools like bash scripts, SSH, and Node, running almost anything upon committing some code to GitHub becomes possible.
Integration with all of our favorite services. GitHub and Slack in particular are crucial to our business and CircleCI's integration is seamless and full-featured.
Great config file syntax. Many CI services require you to perform advanced configuration in a UI. This is fine at first (and CircleCI offers this for many options available), but when you start needing to manage a large number of projects, committing configuration changes to a Git repository is more consistent and maintainable than making the change many different times manually in a UI.
Fully customizable build process. Each step of the build process can be parameterized and customized to address specific needs of particular applications. This allowed us to easily convert from a custom VM-based environment to our current Docker-based environment.
Manages large numbers of build agents seamlessly. This allows us to run multiple builds on many different applications in a most efficient manner.
Build steps can be managed in an arbitrary manner, allowing some parts of the process to proceed in parallel while restricting others to depend on completion of all relevant steps.
CircleCI mostly getting built into both upstream platforms (Github/Gitlab) and downstream platforms (AWS, Azure, GCP), in which cases it's often a better fit or can be used as a part of existing tooling
UX can be confusing to navigate and see what's happening.
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.
TeamCity runs really well, even when sharing a small instance with other applications. The user interface adequately conveys important information without being overly bloated, and it is snappy. There isn't any significant overhead to build agents or unit test runners that we have measured.
I haven't personally used their support service, but I have heard from others that they are responsive. I've also seen only one or two downtimes in over a year of use and both were no more than an hour or two.
Jenkins and Teamcity both have additional features that maybe you require, but they are also a lot more work to get set up and working. There's a much longer learning curve to getting these configured for a simple build. They're not hosted, so you have to maintain the infrastructure and scale yourself. They're both good products if you require more than CircleCI, but if not, skip the extra headache and go with something simple like CircleCI.
Jenkins relies on being open source as the primary driver for its success. This low cost is a huge factor for many companies, both small and large. The professional, free tier of TeamCity offers a huge amount of growth before ever needing to pay anything. I personally also find the user experience of TeamCity to be much better, both from a look and feel, as well as from an out-of-the-box feature set perspective. The big selling feature of ADO is its native integration with Azure. TeamCity integrates very well with out-of-the-box .NET support and greatly simplifies our use of another diverse tooling outside of the Microsoft ecosystem.
TeamCity was a key contributor to our organization's adoption of Agile.
TeamCity made it possible to KILL "It works on my laptop" conversations with Developers. If it does not compile in TeamCity - the project is not deployable. TeamCity's easy to use interface made it possible to quickly adopt a "Deploy Only from TeamCity" policy, further ensuring TeamCity Builds were the gold-standard for well-configured source code.