Migrating from CC.Net / VisualBuild to TeamCity

Hi all,

I've just installed TeamCity 4.0.1 and am trying to migrate from our current setup. But since this setup may be a little bit special, I'd like to make sure not to misuse the concepts of TeamCity by simply adopting our current ideas.

Currently, we are using CC.Net together with VisualBuild (Kinook Software) and Perforce as CVS to build our .NET products (Visual Studio 2005). CC.Net is just used to trigger builds. It then starts VisualBuild scripts which do all the work (checking out sources, building the system's solutions, running unit tests (under NCover) and labeling last known good versions in the CVS, eventually even build setups. CC.Net afterwards just collects the log files and creates a comprehensive build log including all sorts of info, like coverage reports.

Our build scripts assemble our systems from a varying number of Visual Studio solutions listed in a text file. So a single system consists of many solutions. Currently, those text files contain solutions of various levels, like basics, framework and ui. The basics and framework solutions are currently built for many products.

I wonder how to configure TeamCity in such an environment to take advantage of things like build chains and enhanced build dependencies.

I'm looking for a place to start reading, eventually for examples or for help to get started.

Best regards,


1 comment
Comment actions Permalink


There are many ways you can structure your builds in TeamCity. You can start by mirroring your CC setup into TeamCity and then gradually adjusting the structure to benefit from advanced TeamCity features.
For example for a start you can try to invoke existing build procedure from TeamCity's command line runner, ensuring the build checkouts the sources corresponding to build.vcs.number property.

To move on, you can configure a build using TeamCity's snapshot or artifact dependencies.Every complete build piece (like building a framework) is a good candidate to be a separate build configuration in TeamCity. It then can be used by other builds via artifacts dependencies. If you need to use a fixed "stable" version of the framework artifact dependencies will be enough. If the framework is a part of the whole project rather then a library, you will probably need to set snapshot dependency on it.

For the time being we do not have extensive description of example configurations. Hopefully, some of the users already using the features can share own experience.

Hope this helps.

Please do not hesitate to post a question or finding about TeamCity.

Best regards,

Yegor Yarko
Project Manager (TeamCity)
JetBrains, Inc
"Develop with pleasure!"


Please sign in to leave a comment.