{"id":4542,"date":"2020-02-03T05:02:38","date_gmt":"2020-02-03T11:02:38","guid":{"rendered":"https:\/\/www.supportpro.com\/blog\/?p=4542"},"modified":"2026-03-09T00:53:23","modified_gmt":"2026-03-09T06:53:23","slug":"teamcity","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/teamcity\/","title":{"rendered":"What is TeamCity? Architecture, Features, and Key Concepts"},"content":{"rendered":"\n<p><strong>TeamCity<\/strong> is a powerful <strong>Continuous Integration (CI)<\/strong> and <strong>Continuous Delivery (CD)<\/strong> tool developed by <strong>JetBrains<\/strong>. It is written in the <strong>Java<\/strong> programming language and helps development teams automate the process of building, testing, and deploying software projects.<\/p>\n\n\n\n<p>TeamCity is widely used by organizations that want to streamline their development workflow and ensure that code changes are continuously tested and integrated. It is a <strong>commercial, proprietary tool<\/strong> designed primarily for business environments that require reliable CI\/CD automation.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-1.png\" data-rel=\"penci-gallery-image-content\" ><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"309\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-1-1024x309.png\" alt=\"\" class=\"wp-image-4544\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-1.png 1024w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-1-300x91.png 300w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-1-768x232.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><strong>Architecture of TeamCity<\/strong><\/h2>\n\n\n\n<p>TeamCity uses a <strong>distributed architecture<\/strong> that consists of two main components: the <strong>TeamCity Server<\/strong> and <strong>Build Agents<\/strong>. Together, they manage and execute the build process efficiently.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-2.gif\" data-rel=\"penci-gallery-image-content\" ><img decoding=\"async\" width=\"590\" height=\"230\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2020\/02\/teamcity-2.gif\" alt=\"\" class=\"wp-image-4545\"\/><\/a><\/figure>\n<\/div>\n\n\n<h5 class=\"wp-block-heading\"><strong>1. TeamCity Server<\/strong><\/h5>\n\n\n\n<p>The TeamCity Server is the central component of the system. It is responsible for managing the overall configuration of projects and controlling the build pipeline.<\/p>\n\n\n\n<p>Key responsibilities of the server include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitoring build processes<\/li>\n\n\n\n<li>Managing project configurations<\/li>\n\n\n\n<li>Controlling build queues<\/li>\n\n\n\n<li>Tracking build history and results<\/li>\n\n\n\n<li>Managing connected build agents<\/li>\n<\/ul>\n\n\n\n<p>The server also provides the <strong>web interface<\/strong> where developers can configure projects and monitor builds.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2. Build Agents<\/strong><\/h5>\n\n\n\n<p>Build Agents are the machines that actually execute the build tasks. They perform operations such as compiling code, running tests, and generating build artifacts.<\/p>\n\n\n\n<p>Each agent communicates with the TeamCity Server and receives instructions about which builds to execute. For better performance, organizations usually install build agents on <strong>separate machines<\/strong> instead of the same server.<\/p>\n\n\n\n<p>This distributed setup improves scalability and allows multiple builds to run simultaneously.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Features of TeamCity<\/strong><\/h2>\n\n\n\n<p>TeamCity provides a wide range of features that help automate development workflows and improve software quality.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Extensibility and Customization<\/strong><\/h5>\n\n\n\n<p>TeamCity allows developers to reuse project configurations. Settings from a <strong>parent project<\/strong> can be inherited by <strong>subprojects<\/strong>, making configuration management easier.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Improved Code Quality<\/strong><\/h5>\n\n\n\n<p>The tool helps maintain code quality by automatically running builds and tests whenever changes are made. It can also detect <strong>stuck or hanging builds<\/strong> and notify the development team.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Stable CI Server<\/strong><\/h5>\n\n\n\n<p>TeamCity keeps the CI server stable even when no builds are currently running. This ensures the system remains reliable and ready for new tasks.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Parallel Builds<\/strong><\/h5>\n\n\n\n<p>Multiple builds can run simultaneously across different environments. This significantly reduces build times and improves development efficiency.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Docker Support<\/strong><\/h5>\n\n\n\n<p>TeamCity supports building <strong>Docker images<\/strong> as part of the build process. Developers can include Docker-related steps in their build pipelines.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Flexible Testing with Agents<\/strong><\/h5>\n\n\n\n<p>Build agents can also be used for executing automated tests. This allows testing tasks to be distributed across multiple systems.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Cross-Platform Support<\/strong><\/h5>\n\n\n\n<p>The TeamCity server and build agents can run on different operating systems. For example, the server might run on Linux while the agents run on Windows or macOS.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Testing Changes Before Committing<\/strong><\/h5>\n\n\n\n<p>TeamCity allows developers to test code changes during the build process <strong>before committing them to a version control system (VCS)<\/strong>. This helps prevent unstable code from entering the repository.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Important TeamCity Terminology<\/strong><\/h2>\n\n\n\n<p>Understanding the basic terminology used in TeamCity helps developers work with the platform more effectively.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Agent<\/strong><\/h5>\n\n\n\n<p>A <strong>Build Agent<\/strong> is the component responsible for executing build and test tasks. It acts as the engine that runs the build process.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>TeamCity Server<\/strong><\/h5>\n\n\n\n<p>The <strong>TeamCity Server<\/strong> is the central environment where all project configurations, build settings, and monitoring activities are managed.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Queue<\/strong><\/h5>\n\n\n\n<p>The <strong>Build Queue<\/strong> displays a list of active and pending builds waiting to be executed by available agents.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Artifacts<\/strong><\/h5>\n\n\n\n<p><strong>Build Artifacts<\/strong> are the final outputs produced by the build process. These files can include formats such as ZIP archives, WAR files, executables, or other compiled packages.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Project<\/strong><\/h5>\n\n\n\n<p>A <strong>Project<\/strong> in TeamCity represents a product or application. A project can contain multiple <strong>subprojects<\/strong>, build configurations, and related components.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Configuration<\/strong><\/h5>\n\n\n\n<p>A <strong>Build Configuration<\/strong> is a collection of settings that define how a build should be executed. It includes details such as build steps, triggers, and environment parameters.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Step<\/strong><\/h5>\n\n\n\n<p>A <strong>Build Step<\/strong> represents a single task within the build process. For example, compiling code, running tests, or packaging the application.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Build Trigger<\/strong><\/h5>\n\n\n\n<p>A <strong>Build Trigger<\/strong> defines when a build should start. Builds can be triggered automatically based on events such as code commits, scheduled times, or manual actions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Drawbacks of TeamCity<\/strong><\/h2>\n\n\n\n<p>Although TeamCity offers many benefits, it also has some limitations.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Upgrade Complexity<\/strong><\/h5>\n\n\n\n<p>Upgrading from one version of TeamCity to another can require significant effort and preparation.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Licensing Limitations<\/strong><\/h5>\n\n\n\n<p>TeamCity is not an open-source tool. The free version supports only <strong>3 build agents and 100 build configurations<\/strong>. Larger teams must purchase a commercial license.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Smaller User Community<\/strong><\/h5>\n\n\n\n<p>Compared to other CI tools such as <strong>Jenkins<\/strong>, TeamCity has a relatively smaller user community. This can sometimes make it harder to find community support or resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>TeamCity is a reliable and feature-rich CI\/CD platform that helps development teams automate the process of building, testing, and deploying applications. With its distributed architecture, flexible configuration options, and strong integration capabilities, it provides an efficient solution for modern DevOps workflows.<\/p>\n\n\n\n<p>While the licensing model and upgrade complexity may present challenges for some teams, TeamCity remains a powerful tool for organizations that require a robust and scalable continuous integration system.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center has-white-background-color has-background\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Facing issues? <\/p>\n\n\n\n<p class=\"has-large-font-size\">Our technical support<br>engineers can solve it. <\/p>\n\n\n\n<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-3350a795-db50-482f-9911-301930d1b1be\"><span class=\"hs-cta-node hs-cta-3350a795-db50-482f-9911-301930d1b1be\" id=\"hs-cta-3350a795-db50-482f-9911-301930d1b1be\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2725694\/3350a795-db50-482f-9911-301930d1b1be\" ><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-3350a795-db50-482f-9911-301930d1b1be\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/3350a795-db50-482f-9911-301930d1b1be.png\"  alt=\"Contact Us today!\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '3350a795-db50-482f-9911-301930d1b1be', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code -->\n<\/div><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" width=\"904\" height=\"931\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png\" alt=\"guy server checkup\" class=\"wp-image-12943 size-full\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png 904w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-291x300.png 291w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-768x791.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-585x602.png 585w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>TeamCity is a powerful Continuous Integration (CI) and Continuous Delivery (CD) tool developed by JetBrains. It is written in the Java programming language and helps development teams automate the process&hellip;<\/p>\n","protected":false},"author":4,"featured_media":4565,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[76,5,1,3],"tags":[],"class_list":["post-4542","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-build-automation","category-general-topics","category-miscellaneous","category-technical-articles"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/4542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=4542"}],"version-history":[{"count":18,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/4542\/revisions"}],"predecessor-version":[{"id":15973,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/4542\/revisions\/15973"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media\/4565"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=4542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=4542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=4542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}