While testing an update from version 15.2 to 18.10 we have run into an 
issue that may be bug in either GoCD or the TFS JDK that it uses.

For reasons that I won't go into, we have several pipelines that include 
multiple TFS materials, some of which are single files from our TFS 
repository. For example:


   - AssemblyInfo
      - Project Path: $/TeamProjectName/AssemblyInfo.cs
      - Destination Directory: tfs/AssemblyInfo.cs
   - Packages:
      - Project Path: $/TeamProjectName/packages
      - Destination Directory: tfs/packages
      
We have to include the file name in the AssemblyInfo material's Destination 
Directory (DD) because otherwise the Packages material's DD appears to be 
nested inside the AssemblyInfo DD and GoCD throws an error when trying to 
save the configuration.

On version 15.2 everything works as intended but after updating the GoCD 
agent fails to check out the AssemblyInfo material with an error like the 
following:

Failed while checking out into Working Folder: 
pipelines\MyPipeline\tfs\AssemblyInfo.cs, Project Path: 
$/TeamProjectName/AssemblyInfo.cs, Workspace: 
bb18a58c6abfa36db84643de09258c86feaa48bc711174334eaea61594b9623f, Username: 
BuildUser, Domain: mydomain, Root Cause: java.io.FileNotFoundException: 
E:\GoCD\Go 
Agent\pipelines\MyPipeline\tfs\AssemblyInfo.cs\$tf\5\377de3f5-a6f8-41ed-970a-9b0bbf2c1a50.gz
 (The system cannot find the path specified)
>
>  
This error is consistent across all tested pipelines that follow this 
format.

Based on the path of the file that is triggering the FileNotFoundException, 
it seems as if the agent is attempting to create the $tf directory required 
by a local TFS workspace inside the file that it is trying to check out. 
Since you can't create a directory inside a file, this fails and eventually 
results in the FileNotFoundException being thrown when the checkout process 
tries to access a file from the $tf directory.

It would seem that an easy fix would be to tell the agent to use a server 
workspace instead of a local one but I haven't been able to find a way to 
configure that option.

Does anyone have any experience with this issue or any suggestions on how 
we can overcome it?

In case it's relevant we are running GoCD server on a 64-bit Linux system 
and the agent is Windows Server 2012R2 64-bit running the agent bundled 
with 32-bit Java.

Thanks in advance for any advice you can offer,
Jason

-- 
You received this message because you are subscribed to the Google Groups 
"go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to