Could you have configured your Jenkins server to expect Git in a certain path 
(where it is on the master), and then have placed it on a different path on the 
slave?
 
Could you have configured your Jenkins server to automatically install Git as a 
tool but then have instead installed it yourself on the Windows slave?
 
I'm not familiar with the source code of the git plugin, but a casual browsing 
seems to indicate that there is a loop which iterates over Git installations 
trying to find a git executable.  In your case, it seems that loop is not 
finding the git executable, even though the executable is in the path.
 
None of those ideas seem very likely to me, but maybe they'll inspire you (or 
someone else) further towards an answer.

Mark Waite
 

>________________________________
> From: Ryan McKinley <ryan...@gmail.com>
>To: jenkinsci-users@googlegroups.com 
>Sent: Tuesday, January 15, 2013 2:54 PM
>Subject: Re: Git errors on jenkins slave (windows)
>   
>
>Thanks.  I added a new job that runs on the same slave, the output makes me 
>think the environment is OK, but I still get the same error.
>
>
>(Note, Git is installed at C:\Git -- i tried the standard Program Files also, 
>but got the same effect and was worried it may be a space in the name issue) 
>
>
>Here is the output;
>
>
>[EnvInject] - Loading node environment variables.
Building remotely on build_101 in workspace C:\jenkins\workspace\Environment 
Debug
[Environment Debug] $ cmd /c call 
C:\Users\John\AppData\Local\Temp\hudson6323094003129014815.bat 
C:\jenkins\workspace\Environment Debug>echo hello 
hello C:\jenkins\workspace\Environment Debug>git --version 
git version 1.8.0.msysgit.0 C:\jenkins\workspace\Environment Debug>set
AGSDESKTOPJAVA=C:\Program Files\ArcGIS\Desktop10.1\
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\John\AppData\Roaming
BUILD_CAUSE=USERIDCAUSE
BUILD_CAUSE_USERIDCAUSE=true
BUILD_ID=2013-01-15_13-46-55
BUILD_NUMBER=3
BUILD_TAG=jenkins-Environment Debug-3
BUILD_URL=http://192.168.1.6:8080/job/Environment%20Debug/3/ 
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=WIN7-V101-DEV
ComSpec=C:\Windows\system32\cmd.exe
EXECUTOR_NUMBER=0
FP_NO_HOST_CHECK=NO
GIT_HOME=C:\Git\bin
HOMEDRIVE=C:
HOMEPATH=\Users\John
HUDSON_COOKIE=e0133cc9-9893-4a6e-9c99-8900382f963e
HUDSON_HOME=C:\jenkins
HUDSON_SERVER_COOKIE=f150f0f33be57042
HUDSON_URL=http://192.168.1.6:8080/ J2D_D3D=false
JAVA_HOME=C:\java\jdk1.7.0_07
JENKINS_HOME=C:\jenkins
JENKINS_SERVER_COOKIE=f150f0f33be57042
JENKINS_URL=http://192.168.1.6:8080/ JOB_NAME=Environment Debug
JOB_URL=http://192.168.1.6:8080/job/Environment%20Debug/ 
LOCALAPPDATA=C:\Users\John\AppData\Local
LOGONSERVER=\\WIN7-V101-DEV
NODE_LABELS=Voyager.NET101 build_101
NODE_NAME=build_101
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\java\jdk1.7.0_07/bin;C:\Program Files\CollabNet\Subversion 
Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program
 Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL 
Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Git\bin;"C:\Program 
Files\Java\jre6\bin"
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\John\AppData\Local\Temp
TMP=C:\Users\John\AppData\Local\Temp
USERDOMAIN=WIN7-V101-DEV
USERNAME=John
USERPROFILE=C:\Users\John
VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
windir=C:\Windows
WORKSPACE=C:\jenkins\workspace\Environment Debug 
C:\jenkins\workspace\Environment Debug>exit 0 
Finished: SUCCESS
>
>
>
>
>
>
>
>On Tue, Jan 15, 2013 at 1:06 PM, Mark Waite <markwa...@yahoo.com> wrote:
>
>I think your assessment is correct.  The Jenkins slave on that computer cannot 
>find the git executable.  The "error performing command --version" would have 
>been "git --version" if the git executable had been found. 
>>
>>
>>One way to diagnose that condition is to create a Jenkins job which executes 
>>on that slave and has a single build step which executes "set".  That will 
>>report the environment variables so that you can confirm the path to the Git 
>>executable is not in the PATH when the Jenkins slave agent starts. 
>>
>>
>>Mark Waite
>>
>>
>>
>>>________________________________
>>> From: ryantxu <ryan...@gmail.com>
>>>To: jenkinsci-users@googlegroups.com 
>>>Sent: Tuesday, January 15, 2013 1:04 PM
>>>Subject: Git errors on jenkins slave (windows)
>>> 
>>>
>>>
>>>I had a working jenkins build... then I started poking and am struggling to 
>>>get it back on its feet!
>>>
>>>
>>>I *think* the error is that jenkins can not find the git path.  It is in the 
>>>environment %PATH% 
>>>
>>>
>>>From cmd, when I run:
>>>C:\Users\ryan>git --version
>>>git version 1.8.0.msysgit.0
>>>
>>>
>>>
>>>
>>>The build error I get is:
>>>
>>>
>>>Building remotely on build_101 in workspace C:\jenkins\workspace\product 
>>>Build .NET 10.1
>>>Checkout:product Build .NET 10.1 / C:\jenkins\workspace\product Build .NET 
>>>10.1 - hudson.remoting.Channel@3c4ae05b:build_101 
>>>Using strategy: Default
>>>Cloning the remote Git repository
>>>Cloning repository g...@github.com:company/product.git
>>>Error trying to determine the git version: Error performing command:  
>>>--version 
>>>Assuming 1.6
>>>ERROR: Error cloning remote repo 'origin' : Could not clone 
>>>g...@github.com:company/product.git
>>>hudson.plugins.git.GitException: Could not clone 
>>>g...@github.com:company/product.git
>>>at hudson.plugins.git.GitAPI.clone(GitAPI.java:273)
>>>at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1044)
>>>at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986) 
>>>at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2309)
>>>at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
>>>at hudson.remoting.UserRequest.perform(UserRequest.java:48)
>>>at hudson.remoting.Request$2.run(Request.java:326)
>>>at 
>>>hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
>>>at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
>>>at java.util.concurrent.FutureTask.run(Unknown Source)
>>>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
>>>at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>>at hudson.remoting.Engine$1$1.run(Engine.java:58)
>>>at java.lang.Thread.run(Unknown Source) 
>>>Caused by: hudson.plugins.git.GitException: Error performing command:  clone 
>>>-o origin g...@github.com:company/product.git C:\jenkins\workspace\product 
>>>Build .NET 10.1
>>>at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:904) 
>>>at hudson.plugins.git.GitAPI.access$000(GitAPI.java:42)
>>>at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:269)
>>>at hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:248)
>>>at hudson.FilePath.act(FilePath.java:852)
>>>at hudson.FilePath.act(FilePath.java:825) 
>>>at hudson.plugins.git.GitAPI.clone(GitAPI.java:248)
>>>... 13 more
>>>Caused by: java.lang.NullPointerException 
>>>at hudson.Launcher.printCommandLine(Launcher.java:607)
>>>at hudson.Launcher.maskedPrintCommandLine(Launcher.java:629) 
>>>at hudson.Launcher$LocalLauncher.launch(Launcher.java:754)
>>>at hudson.Launcher$ProcStarter.start(Launcher.java:353) 
>>>at hudson.Launcher$ProcStarter.join(Launcher.java:360)
>>>at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:885) 
>>>... 19 more
>>>Trying next repository
>>>ERROR: Could not clone repository
>>>FATAL: Could not clone
>>>hudson.plugins.git.GitException: Could not clone 
>>>at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1056)
>>>at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:986)
>>>at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2309) 
>>>at hudson.remoting.UserRequest.perform(UserRequest.java:118)
>>>at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
>>>at hudson.remoting.Request$2.run(Request.java:326)
>>>at 
>>>hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
>>> 
>>>at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>>>at java.util.concurrent.FutureTask.run(Unknown Source) 
>>>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
>>>at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
>>>at hudson.remoting.Engine$1$1.run(Engine.java:58)
>>>at java.lang.Thread.run(Unknown Source)
>>>
>>>
>>>
>>>
>>>
>>>
>>>any pointers would be great!
>>>
>>>
>>>thank you
>>>ryan
>>>
>>>   
> 
>
>   

Reply via email to