Child pages
  • VCS Worker
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

VCS worker

One of the heavy parts of TeamCity functioning is interaction with version control (VCS) servers. Until TeamCity 8.0, the related operations were performed by TeamCity server itself, and this created a high load on the server and could affect UI responsiveness. In TeamCity 8.0, we provide an option to execute VCS operations via a separate VCS worker service, which can run on a separate machine (or even use several VCS workers on multiple machines). For example, you can route all Git VCS traffic through one VCS worker, and Subversion traffic - through another. Even more, you can make your linux-running TeamCity server to talk to TFS by running VCS worker on Windows machine. And, with large setups VCS worker(s) installed on separate machines should noticeably decrease TeamCity server load.

By default VCS workers are disabled, and TeamCity behaves as usual, i.e. performs all VCS operations from the main server process.

Installation of a VCS worker

  • open Administration | Vcs-worker page on TeamCity server and download vcs-worker.zip
  • extract vcs-worker.zip to the target machine and open port 9888 in firewall
  • set JAVA_HOME environment variable with path to installed Java JVM 1.6+
  • start vcs-worker with <vcs-worker>/bin/vcs-server.bat start or <vcs-worker>/bin/vcs-server.sh start command
  • make sure you can open vcs worker address in browser from server TeamCity server (like http://vcs-worker-host:9888)
  • open <TeamCity data directory>/config/vcs-worker.properties.dist
  • un-comment worker.1.url line (remove #) and specify URL to installed vcs-worker, i.e. http://vcs-worker-host:9888
  • copy vcs-worker.properties.dist to vcs-worker.properties
  • no TeamCity server restart is required, you can see the debugging information about connected worker via http://your-teamcity-server/admin/admin.html?item=vcsWorkerTab

Advanced configuration of VCS worker

  • check <vcs-worker>/conf/vcs-worker.properties.dist for more options (you can change the port, some paths, HTTP context path)
  • rename <vcs-worker>/conf/vcs-worker.properties.dist to vcs-worker.properties
  • restart vcs-worker to apply the changes

Running several VCS workers

  • install another VCS worker on another machine
  • edit <TeamCity data directory>/config/vcs-worker.properties and add worker.2.url=http://second-worker:9888 line
  • if needed, use worker.1.vcsTypes and worker.2.vcsTypes settings to assign different VCS types to different workers
  • save the file, no restart is required

All connected vcs-workers are listed under Vcs-Worker tab on server administration page (http://your-teamcity-server/admin/admin.html?item=vcsWorkerTab)

  • No labels