Monday, February 16, 2015

TeamCity and multiple VCS root - be aware

Recently we hit the problem, that in some cases when using multiple VCS roots in TeamCity build configuration, files from some roots were missing.

Well, of course we did "something" - we changed server-side checkout to agent-side checkout. And that dramatically changed how the checkout directory looks like after fetching files.

The catch is:

  • On server-side checkout, all VCS roots are processed separately by the server and then files are sent to the agent. 
  • On agent-side checkout VCS roots are processed one after one in the SAME agent checkout directory. 


Disaster scenario:
One of VCS roots (lets say RootX) is set up to map files into root og agent checkout folder.
Checkout changes from server-side to agent-side.
TeamCity sees that as clean checkout for all VCS roots.
Agent fetches root1 into Folder1, root2 into Folder2, RootX ... into root of agent checkout directory. And prior to fetch it does cleanup files, which in this case means - delete Folder1 and Folder2.

Result: 
Files from some roots are missing.

Solution: 
Do not map files to root of checkout directory, if you have more then one VCS roots.
Or use server-side checkout.

4 comments:

  1. This actually can mess a lot, because one can not find the reason of his problems

    ReplyDelete
  2. Avast SecureLine VPN Crack is an easy-to-use VPN client from a reliable anti-virus software developer - AVAST Software. Avast Secureline Vpn Subscription Code

    ReplyDelete
  3. Cockos REAPER 6.70 Crack is an excellent digital audio workstation in a Keygen. Its tutorials and forums on YouTube create more information.Reaper License Key Generator

    ReplyDelete