One reason TeamCity is dubbed an "Intelligent CI server" is its approach to integration. When we say we support a tool, we mean it in every way possible. For example, support for Visual Studio projects provides automatic detection of tool versions, testing frameworks support, code coverage, static code analysis, and more. And the best thing is, you get all this support without installing any plugins and with no modifications to build scripts!
It’s impossible to imagine a great CI and CD server without an integration with some key tools like your version control, your issue tracker, your build tool, and your package repository. TeamCity takes it very seriously to provide full support for these key integrations.
TeamCity takes advantage of cloud computing by dynamically scaling out its build agents farm on Amazon EC2, Microsoft Azure, and VMware vSphere.
Do you take continuous integration seriously? Do you want to have a stable trunk and green builds? If so, TeamCity will provide numerous features to support you all the way.
Skillful software developers try to avoid code duplication; similarly, build engineers avoid duplication of settings. TeamCity understands this and provides several ways to reuse settings.
We believe that keeping a history of builds, changes and failures is crucial to the success of any software development process. TeamCity enables you to run history builds, see statistics and test history reports, as well as pin, tag, and add builds to favorites. All of the changes are accumulated in the change log.
Imagine a conveyor belt of changes from developers and a bunch of testers taking the changes, verifying them and complementing these changes with verification results. TeamCity is such a conveyor, except that testers are replaced with Build Agents.
Helping you achieve better code quality on your project is the ultimate purpose of TeamCity. That’s why it comes bundled with famous IntelliJ IDEA and ReSharper code analysis and inspections for Java and .NET code. Major coverage engines are also bundled and supported out of the box. You can even use code quality as a build failure condition.
TeamCity version controls systems integration is comprehensive. It’s hard to imagine a project whose source code couldn’t be retrieved by TeamCity.
TeamCity provides you with multiple ways of interaction, customization, and extending your server. Use service messages in your build scripts, interact via REST API, or create plugins for TeamCity using Open API.
TeamCity helps you maintain a healthy, stable CI server even when no builds are running. It provides you with useful reports like Disk Usage, Build Time, and Server Health reports, you can also run build history clean-ups in the background.
Starting with 2019.2, TeamCity also exposes its metrics via an HTTP endpoint, in the Prometheus format.
We understand that a CI server is something used by a whole team or even a whole company, that’s why TeamCity provides flexible user management, including assigning user roles, sorting users into groups, different ways of user authentication, and a log with all user actions for the transparency of all activity on the server.