Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to debug Cannot run program "C:\Program Files\Git" in a Jenkins job?

I'm using jenkins to build my git project, this is the error I am getting when see the log.
I am using git plugin in jenkins.

How would you troubleshoot that error message?

Started by user anonymous
Building in workspace E:\sw\jenkins\workspace\se12
ERROR: Workspace has a .git repository, but it appears to be corrupt.
hudson.plugins.git.GitException: Error performing command: git rev-parse --is-inside-work-tree

org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1180)
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1150)
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1146)
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:962)
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:972)
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:651)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    Caused by: java.io.IOException: Cannot run program "C:\Program Files\Git" (in directory "E:\sw\jenkins\workspace\se12"): CreateProcess error=5, Access is denied
        at java.lang.ProcessBuilder.start(Unknown Source)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1169)
        ... 16 more
    Caused by: java.io.IOException: CreateProcess error=5, Access is denied
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 22 more
    Cloning the remote Git repository
    Cloning repository $ git clone \\SE12\Adempiere370new\.git
    Fetching upstream changes from $ git clone \\SE12\Adempiere370new\.git
    ERROR: Error cloning remote repo 'origin'
    hudson.plugins.git.GitException: Error performing command: git fetch --tags --progress $ git clone \\SE12\Adempiere370new\.git +refs/heads/*:refs/remotes/origin/*
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1180)
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1043)
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:651)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)

    Caused by: java.io.IOException: Cannot run program "C:\Program Files\Git" (in directory "E:\sw\jenkins\workspace\se12"): CreateProcess error=5, Access is denied
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1169)
        ... 14 more
like image 873
Tony Davis Avatar asked Feb 25 '14 05:02

Tony Davis


2 Answers

Maybe you incorrectly set the git executable path.

It shouldn't be C:\Program Files\Git, but C:\Program Files\Git\bin\git.exe
(this is similar to JENKINS-6181)

The Git plugin page does mention:

If you are seeing output indicating Git could not clone, something like the output below, go to to the Jenkins configuration settings (not the project settings, the global ones) and change the Git path to a fully qualified path (eg. not "git" but "/usr/bin/git" or wherever your Git binary is installed).

In your case, check that C:\Program Files\Git is indeed your Git installation path.

like image 188
VonC Avatar answered Nov 14 '22 21:11

VonC


In your logs, looks like Jenkins agent doesn't have enough permissions to execute Git

hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:651)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    Caused by: java.io.IOException: Cannot run program "C:\Program Files\Git" (in directory "E:\sw\jenkins\workspace\se12"): CreateProcess error=5, Access is denied

Detail to

CreateProcess error=5, Access is denied

For me the issue was different, it was

CreateProcess error=2, The system cannot find the file specified

Doing some research I came across this issue https://issues.jenkins.io/browse/JENKINS-12353

At the very bottom one guys says that the default PATH configuration in windows points to

C:\Program Files\Git\cmd

When it should be

C:\Program Files\Git\bin

As I have jenkins agents in remote machines, I had to restart my agents to reload the PATH change in the host.

like image 29
Thiago Trennepohl Avatar answered Nov 14 '22 22:11

Thiago Trennepohl