Buildkite vs TeamCity: What are the differences?
What is Buildkite? Fast, secure and scalable CI/CD for all your software projects. CI and build automation tool that combines the power of your own build infrastructure with the convenience of a managed, centralized web UI. Used by Shopify, Basecamp, Digital Ocean, Venmo, Cochlear, Bugsnag and more.
What is TeamCity? TeamCity is an ultimate Continuous Integration tool for professionals. TeamCity is a user-friendly continuous integration (CI) server for professional developers, build engineers, and DevOps. It is trivial to setup and absolutely free for small teams and open source projects.
Buildkite and TeamCity can be categorized as "Continuous Integration" tools.
Some of the features offered by Buildkite are:
- Fast and stable builds
- Open source agent runs on almost any machine and architecture
- Freedom to use your own internal or pre-release tools and services
On the other hand, TeamCity provides the following key features:
- Automate code analyzing, compiling, and testing processes, with having instant feedback on build progress, problems, and test failures, all in a simple, intuitive web-interface
- Simplified setup: create projects from just a VCS repository URL
- Run multiple builds and tests under different configurations and platforms simultaneously
"Great customer support" is the primary reason why developers consider Buildkite over the competitors, whereas "Easy to configure" was stated as the key factor in picking TeamCity.
Stack Exchange, ebay, and Apple are some of the popular companies that use TeamCity, whereas Buildkite is used by Shopify, 99designs, and Teleport. TeamCity has a broader approval, being mentioned in 171 company stacks & 51 developers stacks; compared to Buildkite, which is listed in 37 company stacks and 7 developer stacks.
What is Buildkite?
What is TeamCity?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Buildkite?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
TeamCity is our main continuous integration server. It starts creating builds and running tests based on commits that we make in our hosted bitbucket repositories. From there, we have a set of configuraitons that can deploy the built and tested artifacts (web app, batches, db, etc...) to a stage or production server. We still release manually, but we release often, and TeamCity has nice features to help us roll back when things don't work out as planned.
TeamCity builds then copies to each web tier via a powershell script. The steps for each server are:
- Tell HAProxy to take the server out of rotation via a POST
- Delay to let IIS finish current requests (~5 sec)
- Stop the website (via the same PSSession for all the following)
- Robocopy files
- Start the website
- Re-enable in HAProxy via another POST
Buildkite provides testing of the Rails application via a Docker container with Docker Compose. The Buildkite Agent runs on a small Digital Ocean droplet, runs the integration and model tests, and marks the GitHub commit for Heroku to perform their auto-deployments once the build is green.
I'm using a selfhosted TC as Referenceplatform, and use travis with another configuration.