TeamCity 3.0

A couple of days ago I upgraded a prototype environment from TeamCity 2.1 to TeamCity 3.0 and I want to share my feelings. TeamCity is free of charge in its professional edition. This edition is limited in some few areas but small to medium sized projects will hardly reach those limits:

* 3 Build Agents
* 20 User Accounts
* 20 Build Configurations

If this is not enough you can buy additional build agents or buy the full enterprise edition. Since the release of TeamCity 1.0 the product was fully commercial. Now you have the entry level edition free of charge. I think this new prizing model will help to spread the market usage of this nice CI-server and was a good choice.

So after installing TeamCity on my Kubuntu I removed .BuildServer in my home directory. I want to start from scratch and do not want to migrate user and project build data to my new version. Once started there are not so many differences to TeamCity 2.1 first glance (beside the new product model of course). Looking deeper into it there are these new build statistics and trends charts. This is powerful. In the past I worked in a semi-agile project which hosts its daily builds on CruiseControl.

Fun enough not all tests are started on the central server and the build results were something like hidden. If you run all your tests on the build server and want to show the test results in detail then these trends and statistics are most probably of benefit for you.

Beside that we now have some per-project access rights. It has been nice to set up user accounts and give them permissions in the past already but now this is even more powerful. Finally there are some new VCS features (new StarTeam support, automatic labeling of code) and further maintenance and incident management improvements (like having thread dumps of crashed builds, a very good idea).

Commonly a new build is started on demand, after check-ins (with respect to some defined sleeping time -- you all know this stuff from CruiseControl e.g. too but with the need to edit xml for that) or in time intervals. Unfortunately the most fine-grained interval is "daily". I would appreciate having a more frequent and regular interval. Edit: TeamCity 3.1 will enable to specify cron-expressions.

TeamCity improved even further and is an excellent tool ... and if you did not do it yet: try it out.

1 comment:

Sergey Pashin said...


Our Parabuild may be worth a look. It provides an ability to run builds on an arbitrary schedule.