Split off from JENKINS-30330
After upgrading from tfs-plugin 3.2.0 to 4.0.0, all existing jobs can no longer get latest from TFS:
Started by user <user>
[EnvInject] - Loading node environment variables.
Building on master in workspace C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace
Querying for remote changeset at '$/<product>/7.12/work/other/internal/qa/ant' as of 'D2015-09-09T05:37:01Z'...
Query result is: Changeset #208383 by '<domain>\<user>' on '2015-09-01T14:44:48Z'.
Listing workspaces from https://<server>:8088/tfs/<collection>...
Workspace Owner Computer Comment
--------------------------------------------------------- ------------------------------ --------------------------- ---------------------------------------------------------------------
<list of *all* workspaces on server>
Getting version 'C208383' to 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace'...
FATAL: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
java.lang.RuntimeException: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
at hudson.plugins.tfs.model.Server.execute(Server.java:110)
at hudson.plugins.tfs.model.Project.getFiles(Project.java:177)
at hudson.plugins.tfs.actions.CheckoutAction.checkout(CheckoutAction.java:54)
at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:221)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:408)
Caused by: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.getLocalWorkspace(VersionControlClient.java:737)
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.getWorkspace(VersionControlClient.java:2154)
at hudson.plugins.tfs.model.MockableVersionControlClient.getWorkspace(MockableVersionControlClient.java:93)
at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:57)
at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:17)
at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
at hudson.plugins.tfs.model.Server.execute(Server.java:106)
... 11 more
Finished: FAILURE
If I create a new Jenkins job which has not been executed with tfs-plugn 3.2.0 - it seems to behave:
Creating workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER' owned by '<domain>\<user>'...
Created workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'.
Mapping '$/<product>/7.12/work/other/internal/qa/ant' to local folder 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace' in workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'...
Mapped '$/<product>/7.12/work/other/internal/qa/ant' to local folder 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace' in workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'.
Getting version 'C208383' to 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace'...
If I then let the job execute on another Windows slave, it also works fine.
When I downgrade to 3.2.0 the 'old' jobs work again:
[workspace] $ tf get . -recursive -version:D2015-09-09T06:05:37Z -noprompt ********
All files are up to date.
And so do the 'new' jobs:
[publish_nl000fs01_400] $ tf get . -recursive -version:D2015-09-09T06:07:20Z -noprompt ********
All files are up to date.
If I then upgrade to 4.0.0 again, delete the TFS workspace from the server, then the workspace is succesfully created.
WORK-AROUND delete tfs workspaces for Jenkins jobs from server
|