Multiple Build Agents Vs. Multiple TeamCity Servers



In our company we are using just one shared TeamCity server with multiple build agents and we are having some trouble with that. We are sharing the same TeamCity Server for completely isolated projects in the company and the following happened:

- The server run out of disk space and all the teams had an offline build server suddenly;
- One of the teams started upgrading TeamCity server without noticing the others and the server was down.
- If the upgrade fails, have they done a backup of my work?
- If they change any environment variable that I'm using, my project will stop working.

That's why IMHO it's better to have multiple TeamCity servers, than having a shared TeamCity Server with multiple build agents.

What are your thoughts on this?


Comment actions Permalink

Hello Miguel,

To avoid problems with the upgrade you can grant System Administrator role to a group of users who will maintain the TeamCity server. They can create and manage users' accounts, authorize build agents and set up projects and build configurations, edit the TeamCity server settings and etc. Find more info in Administration Guide. For developers the appropriate roles are Project Administrator or Project developer.

The recommended approach is to use one TeamCity instance. There are many drawbacks of using multiple TeamCity instances. For example:

  1. Administrator have to monitor several instances (configure backup/authentication/notifications, monitor memory and space usage and so on)
  2. No centralized artifacts storage (you won't be able to easily configure artifact dependency if needed)
  3. For developers who need access to many projects it will be more convenient to have only one TeamCity account
  4. You'll have to buy several TeamCity licenses

The only case when we suggest customers to use several TeamCity servers is UI slowdown. However before you start using the second instance we will be interested in investigating the problem.
In JetBrains we use one TeamCity instance for all projects. It works with more then 100 build agents, having 1000 of build configurations together in all the projects. Please find more examples based on our experience in this documentation entry and in the blog post.

Comment actions Permalink

So you have Resharper, TeamCity, Octopus, .Peek, IntelliJ, CLion, etc. all in the same shared TeamCity Server???

Comment actions Permalink


Can you reply to my previous post?



Comment actions Permalink

I assume that no answer means you don't use the same server for everything!

Comment actions Permalink

Hi Miguel,

I'm sorry, I somehow missed this thread. Yes, we build all JetBrains products in one TeamCity instance (Octopus is not our product).


Please sign in to leave a comment.