TeamCity Reuse Configuration

I write a lot of little projects, and I'd like to use TeamCity for my build server.

Is there a way for me to reuse the build configurations across multiple projects so that I can have more than 20 projects managed by TeamCity's Professional edition?

Edit: If there's no way to do this with TeamCity, could someone suggest an alternative that would also work? I write projects in various languages and for various platforms, and would like for it to integrate with my Subversion repositories.

Thanks!


Solution 1:

The easiest option is just to use the copy feature from within the tool (go to Administration and there should be Copy links both at the project and the build level). It will make a reasonable copy of the the configuration and allow you to alter for the specific new project.

The configurations are contained in ${HOME}/.BuildServer/config/${config_name}. There you will find a project.xml file. It contains information which is specific to the given project, but it likely has quite a bit of generic information which can be reused for a new project, including some core version control information and general build practices.

If you're projects are very similar (say they all use CVS with a given base root, all use maven to build, all have artifacts with the same pattern) you should be able to create a template file for your projects and then just write a quick script to install a new build each time you start a new project. TeamCity will pick this up and you'll be able to work on the new project.

I usually use this method when starting a new project that works similarly to an existing one.

Solution 2:

In case anybody else has a similar question: In TC, it's not about the number of projects but about the number of build configurations, of which you can only have 20 with the free edition. A project might require several build configurations, so in some cases, you won't even get the full 20 projects out of the free version.

In TC8, they added an option to top up the amount of build configurations without going for the full enterprise package, which might be interesting if you like TC but can't afford to spend a four digit sum on the enterprise license.