Teamcity + Perforce labelling HOWTO

I'm a little confused as to how to setup teamcity so that it will label my perforce checkout.   I have many projects that are now building which use a client mapping in the vcs config.
These projects also are set to checkout on the teamcity server, not the build agent.   From the documentation I see:

Automatically on server The TeamCity server will export the sources and pass them to an agent before each build. Since sources are exported rather than checked out, no administrative data is stored in the file system and version control operations (like check in or label or update) can not be preformed.
Automatically on agent The build agent will check out the sources before the build. This checkout mode is supported only for CVS and Subversion. Agent-side checkout frees more server resources and provides the ability to access version control-specific directories (.svn, CVS) i.e. the build script can perform VCS operations (like check-ins into the version control) — in this case please ensure the build script uses necessary credentials for the check-in.

Which should I be attempting to use, automatically on the server or automatically on the agent?

Also I see that:

  • Perforce roots require specification of Perforce client (not TeamCity mapping) for labeling to work.

How do I handle this for the 30 + build workers I have.  Does each buildworker get it's own client or do I define one client on the main server.

1 comment
Comment actions Permalink

Hello Ruel,

  TeamCity doesn't support agent-side checkout for Perforce SCM. So you're bound to use server-side checkout.
  Regarding labeling: the requirement to have a separate client for labeling to work has been eliminated in
   TeamCity 4.0, which is about to be released within a couple of days.

  Kind regards,


Please sign in to leave a comment.