Switching from Agent side to server side checkout, working dir changed
Working with TC V8, but plan to upgrade soon.
For a long time we've had a single machine with both the server and a single agent. I've successfully added another agent, but I had to change our VCS from agent side to server side check out as we can't installed another vcs tool on the 2nd agent (or I'd rather not have to).
Was having troubles and disabled the second agent (on a different machine) and tried the builds again and they were failing. Here's what I discovered
When in "agent checkout mode", the root of the code goes to
[buildagentdir]\work\[hashcode]\<all my code>
but when I switched to server download that changed to
[buildagentdir]\work\[hashcode]\[Branch name]\<all my code>
and it messes up the build because everything is up one folder. Is there a way to NOT have the server side checkout do that to the working directory?
Please sign in to leave a comment.
Hi,
I'm not able to replicate this issue in newer versions. It's not at all impossible that this was an issue in an older release, so I would suggest checking whether you can see that behavior in a newer version.
If you do, please check whether you are using checkout rules. What kind of VCS are you using (Git, svn, tfs...)?
Actually, just installed the new one and we are now using server side checkout, but it makes sense that it might be VCS specific. We are using Surround SCM
<TeamCity Data Directory>\plugins\.unpacked\SurroundSCM
Here's the plugin version. I've been able to get around it by simply adding %vcsroot.Branchname% which let's me use templates without needing to be specific about the branch for each build configuration.
I see, I would forward you to the devs of that plugin, as the default directory should be the checkout directory, which doesn't include the branch name and at least in my test it didn't happen when using a git root.
I'll contact them for the possibility of a new checkbox to do this or not.
Thank you!