TeamCity is an important part of our product pipeline
June 29, 2019

TeamCity is an important part of our product pipeline

Anthony Aziz | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with TeamCity

We use TeamCity on a self-hosted instance to build our ASP.NET projects, .NET desktop projects, and Angular projects. We use it to automatically build these various projects from our git repos and then execute deployment scripts via Octopus Deploy. We also run unit tests on each build and tie in build and test status to our code review tool, Upsource. TeamCity is part of our end-to-end pipeline that allows us to get quality changes out the door quickly and react to production issues quickly.
  • See build status across many projects.
  • It monitors multiple branches with different build processes for each.
  • It's a useful unit test runner with test history and identification of flaky or problematic tests.
  • Reading build output logs can be a pain at times, as they aren't really parsed; just long lines of output.
  • When you have multiple projects and branches, determining what is currently building, what is pending, and what has failed can be difficult.
  • Tracking unit test history has identified problematic test and real bugs that would be difficult or impossible to detect manually.
  • It keeps our pipeline quick and slim, allowing us to focus on getting more features and bug fixes out without worrying about messing up builds and deploys.
  • Integration with other JetBrains products makes integrating other tools relatively painless.
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.
TeamCity scales well for small teams. We run it on a low-cost instance with several other tools, and it performs well. It has some pretty straight forward build configurations, but can be expanded with scripts and various build settings. It might be a bit overkill for a single, small project, however.