Good info. Thanks for sharing! Were you logged into RDP using the same Jenkins user account that runs the service? Best regards Ioannis
On Monday, February 15, 2016 at 7:28:55 AM UTC-5, Gary Bell wrote: > > Hi Everyone, posting this in case it helps someone else in the same > situation as I was. > > Problem: > ======== > I was using Jenkins to run a windows job that used to run on the task > scheduler on a server 2008 machine. The executable code for that job > resides on a shared drive and has a directory structure that I cannot > change. > > I set up the windows machine as a slave on my linux Jenkins master, set up > a new project and added an "execute windows batch job" build step. I then > set it to trigger on a schedule. This all worked and the job ran > successfully. > > I now wanted to let the Jenkins Users see the log files that were produced > in the "logs" directory located on that shared drive. I modified the > project to add a custom workspace, and set it to X:\jobs\foo\logs which is > what it is available as on the slave. When I ran it, it failed with the > error: > > java.io.IOException: Failed to mkdirs: X:\jobs\foo\logs > at hudson.FilePath.mkdirs(FilePath.java:1055) > at > hudson.model.AbstractProject.checkout(AbstractProject.java:1401) > at > hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676) > > > at > jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) > > > There was no SCM system configured, and the paths definitely existed and > were available on the slave when I remoted on to it using RDP. > > Solution: > ========= > The problem was caused by the fact that the X:\ share was "Unavailable" to > the Jenkins user service process, but available when remotely logged in > using RDP or something. This is related to Windows UAC and is explained > here: > > https://technet.microsoft.com/de-de/library/ee844140%28v=ws.10%29.aspx > > You can confirm this by temporarily adding a build step to the project > that does a "net use" command and then viewing the Jenkins console output > for the build. The shared drives are shown, but listed as "Unavailable". To > get around this, I did the following: > > 1. Checked the option to "Prepare an environment for the run" in my > project configuration. > 2. In the "Script content" text box, I added the net use commands to map > the share (even though it was already mapped), and to show me the status. > 3. Ran the job and confirmed that all the drives were shown as "Available" > and that the job completed successfully. > > The commands I used in step 2 were: > net use X: \\<my server>\shared > net use > > At this point the log files all showed up in the workspace as required. > > Best Regards, > Gary. > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/83086a09-2b6c-426e-b5bb-b5dfc6c12f77%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
