Can we buy extra build licenses?


We're a very small startup and we're looking at potentially using team city for our builds.

The  nature of our product is that it consists of quite a few .Net solutions  (currently 14 main ones), which we expect to increase quite quickly.   As I understand it the professional addition gives us unlimited users  and 3 build agents both of which are fine, however we expect to hit the  limit of 20 builds fairly rapidly (we expect one build per solution).

The  cost of the Enterprise edition whilst reasonable to most shops is  actually a lot of money for us and I was wondering if there was any way  of purchasing additional build licenses without having the big step up  to the Enterprise license?


Comment actions Permalink

Why don't you just use a different build runner, like MSBuild or Nant and then write a build file which builds all your solutions.

For example, our product is made up of many Visual Studio solutions. Each module, assembly etc has it's own build file written using MSBuild which builds the solution, runs the unit tests and copies the required files to a central location for the installation.

We then have a master build file, again written using MSBuild which calls all the other build files one by one, compiling solutions, running unit tests and building the install. It's this master build file which is called by the TeamCity build runner. This way you only need one TeamCity build configuration.

Comment actions Permalink

Thanks Mike, that's certainly food for thought. I'm not sure if that works completely well in our situation. Let me expand a bit:

Of the solutions one or two are library solutions, the rest are pretty much all silverlight applications. Each application is stand-alone and not connected to any of the others (apart from using the library dlls). We are using git as our source control and have one repo per solution. Pretty much everything we use is in the "cloud", notably our source control and our target application. The only thing that's not in the cloud is the build server although I would aim to move that to a hosted server somewhere at some point.

What I was thinking of doing was:

When a checkin occurs in Git, drag down the source, build the solution (there's one app per Git repo), run the unit tests and if successful deploy it to our test environment. I've got this working for a couple of our applications I'm using to test teamcity (with the exception of the deployment).

If the library changes then at that point I was expecting to rebuild, test and deploy all of the dependant applications.

I'm not sure I want to build, test and deploy all of the applications if just one changes, also I'm not sure how I'd trigger the master build you suggest from multiple Git repos. Would I just add multiple VCS roots, one for each project? If so, would I then have to get the source for all the other projects from Git using MSBuild or Nant rather than teamcity?

Sorry for the dumb questions, It's my first look at TC! :)

Comment actions Permalink

Also going back to my original question, can we buy bundles of build licenses or is that just not an option?

Comment actions Permalink


I don't know git, we're Perforce here. Also, our applications are traditional WinForms style, with lots of dlls, a couple of exe's, some services, drivers etc. all installed on the user's PC. We have a Perforce workspace which encompasses the whole application and this is our VCS root in TC. TC monitors the workspace, so when someone checks in any changes the whole application is rebuilt and tested. For us, this is important as there are a lot of dependencies and we want to make sure that nothing is broken. It's the TC server that gets all the files from the VCS, (not the build file) and the server passes those files on to the build PC.

For our model the free version of TC is perfect. We're a small team supporting four or five applications. TC has revolutionised our build and testing process, we all think it's fantastic! However, if we had to pay for the Enterprise Edition I'd have to seriously look at other free alternatives like Cruisecontrol.Net and Hudson.

It sounds like your model is very different to us, I'm sure TC will do everything you want, but the cost may force you to look at the other alternatives. To answer your other questions, I think you can chain VCS roots but we've never tried it. Also, the latest TC can chain build configurations, but again that would use up some precious build configs. It's the TC server that gets the source files out of your VCS.

Hope that helps!


Comment actions Permalink


Thanks very much for taking the time to reply, very helpful and much appreciated.

I think our primary difference is the fact that we have lots of little applications in single Git repositories, whereas you have one big application in a big workspace, I can see how it fits your setup perfectly.

I have to agree I'm mighty impressed with TeamCity, and for that matter most things that come out of Jetbrains. We're also considering youtrack but have a similar issue as we currently would want a single project with multiple sub-projects (or applications) whereas they only allow one level called projects, so we'd have 14, one for each application which would expand rapidly.

I think the price of TC is actually pretty generous for enterprises and development shops of a reasonable size (and wealth) given its unlimited nature. For small shops like us it's just the steep step up from £0-£1500+ in one go. It would be nice if we could pay a bit to get some extra builds or whatever and only jump to the enterprise license when we need/can afford it.

Anyone from Jetbrains able to comment?

Cheers again,

Comment actions Permalink


At the moment we do not offer such kinds of licenses.

But I've passed your feedback to our marketing team.


Comment actions Permalink

BTW, what would be a reasonable price for you? How many additional build configurations would you buy?

Comment actions Permalink

I would really like to see a type of Professional license that lets you choose your limitation: number of build configs or number of users or number of build agents.

Our scenario:
Enterprise license in production, 15 agents, hundreds of build configs, 90 users across the company.
Professional license in dev - used by the build team to test TeamCity features and upgrades, repro problems. We have 3 users on the build team.
We like to keep current with TeamCity versions, so we can get bug fixes and enhancements. That means we will need to pay for any Enterprise licenses to be able to upgrade over time.

Production is in use all the time - Enterprise license is justified. Most of the time Dev sits dormant (most is really like >95% time, if not more), so Enterprise license is not justified financially (including initial and renewal cost). 20 builds limit is really preventing us to replicate all or most builds from production to be ready to test things. 3 users is enough, 3 free agents is definitely enough.

My $0.02.


Please sign in to leave a comment.