2. The 2nd problem I guess is related to the perforce plugin itself.
It is a PATH problem when assigning PATH to p4 plugin.
I have found a workaround of the 1st problem by replacing "Z:\" into "
disk_name" like
Jenkins-Job->Configuration
\\NAS\PC12010025\workspace
After this replacement my Jenkins could mkdir correctly on PC 'B',
but still have problem when passing this parameter to perforce-plugin.
The string will be converted as "\NAS\PC12010025\workspace" which is not correct when p4.exe sync source code on windows system.
Whether you configured the string like "\\\\NAS\PC12010025\workspace" or "////NAS/PC12010025/workspace", it will finally converted as "\NAS\PC12010025\workspace.
The build log is as follows.
-----------------------------------------------------------------------
Building in workspace \\NAS\PC12010025\workspace
Using master perforce client: ws_macpaul.lin_PC12010025
[workspace] $ "C:\Program Files\Perforce\p4.exe" workspace -o ws_macpaul.lin_PC12010025
Changing P4 Client Root to: \NAS\PC12010025\workspace
Saving modified client ws_macpaul.lin_PC12010025
[workspace] $ "C:\Program Files\Perforce\p4.exe" -s client -i
Last build changeset: 869378
[workspace] $ "C:\Program Files\Perforce\p4.exe" changes -s submitted -m 1 //...
[workspace] $ "C:\Program Files\Perforce\p4.exe" -s changes -s submitted //ws_macpaul.lin_PC12010025/...@869379,@869583
Sync'ing workspace to changelist 869583.
[workspace] $ "C:\Program Files\Perforce\p4.exe" -s sync //ws_macpaul.lin_PC12010025/...@869583
The p4.exe will hang and do nothing, no source code will be checked out. I can only stop p4.exe via task manager to stop it running but didn't do any thing.
Please help to fix the Client Root from incorrect "\NAS\PC12010025\workspace" to "\\NAS\PC12020025\workspace".