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.