Have you checked https://wiki.jenkins-ci.org/display/JENKINS/My+software+builds+on+my+computer+but+not+on+Jenkins#MysoftwarebuildsonmycomputerbutnotonJenkins-Networkdrivemappings%28Windows%29
2012/6/14 Macpaul Lin <macp...@gmail.com>: > Hi, > I have another problem - which is almost the same problem of this issue > about mkdir/open files on remote disk. > Currently I'm using Jenkins ver. 1.467 with Windows XP 32bit. > When I want to checkout source code to remote disk whether it is on MAC OS > or Linux, I'll get mkdir fail. > I'm very sure java.exe, jenkins.exe, git.exe, p4.exe are executing as my > account in Windows XP. > And this account has right to read/write/mkdir/delete the files and > directories in the remote disk. > It seems this problem exists a very long time. > > Started by user anonymous > Building in workspace Z:\PC12010025 > java.io.IOException: Failed to mkdirs: Z:\PC12010025 > at hudson.FilePath.mkdirs(FilePath.java:901) > at hudson.model.AbstractProject.checkout(AbstractProject.java:1216) > at > hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:587) > at > hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:476) > at hudson.model.Run.run(Run.java:1438) > at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) > at > hudson.model.ResourceController.execute(ResourceController.java:88) > at hudson.model.Executor.run(Executor.java:239) > Finished: FAILURE > > There are other users encountered this problem like > http://serverfault.com/questions/308774/how-to-make-hudson-write-to-remote-disk > > And the relative source code in Jenkins is: > > /** > > * Creates this directory. > > */ > > public void mkdirs() throws IOException, InterruptedException { > > if(!act(new FileCallable<Boolean>() { > > public Boolean invoke(File f, VirtualChannel channel) throws > IOException, InterruptedException { > > if(f.mkdirs() || f.exists()) > > return true; // OK > > > // following Ant <mkdir> task to avoid possible race > condition. > > Thread.sleep(10); > > > return f.mkdirs() || f.exists(); > > } > > })) > > throw new IOException("Failed to mkdirs: "+remote); > > } > >