Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jenkins git fetch timeout

I am running Jenkins 2.0 on my Mac OS X Mavericks machine at work. I'm trying to pull down a repository from an internal server. However, the job hangs on the git fetch call for 10 minutes and then times out.

If I manually run git clone or git fetch from a shell script (from within Jenkins), I get the same overall result, except the job hangs endlessly.

I can run a clone or fetch command from the Terminal just fine.

I'm wondering if this is some sort of user permission error that needs to be resolved.

Here is the log:

Started by user Colin Basnett
Building in workspace /Users/Shared/Jenkins/Home/workspace/Service
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url http://192.168.4.40/Bonobo.Git.Server/Service.git # timeout=10
Fetching upstream changes from http://192.168.4.40/Bonobo.Git.Server/Service.git
 > git --version # timeout=10
using .gitcredentials to set credentials
 > git config --local credential.username jenkins # timeout=10
 > git config --local credential.helper store --file=/Users/Shared/Jenkins/tmp/git8010092725741498465.credentials # timeout=10
 > git -c core.askpass=true fetch --tags --progress http://192.168.4.40/Bonobo.Git.Server/Service.git +refs/heads/*:refs/remotes/origin/*
 > git config --local --remove-section credential # timeout=10
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from http://192.168.4.40/Bonobo.Git.Server/Service.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:766)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1022)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1053)
    at hudson.scm.SCM.checkout(SCM.java:485)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
    at hudson.model.Run.execute(Run.java:1738)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:410)
Caused by: hudson.plugins.git.GitException: Command "git -c core.askpass=true fetch --tags --progress http://192.168.4.40/Bonobo.Git.Server/Service.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: Authentication failed for 'http://192.168.4.40/Bonobo.Git.Server/Service.git/'

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1719)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1463)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:63)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:314)
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:764)
    ... 11 more
ERROR: null
Finished: FAILURE

Thank you in advance for any assistance.

like image 615
Colin Basnett Avatar asked Mar 15 '16 16:03

Colin Basnett


People also ask

How do I change the default git clone timeout value?

Git command timeout can be configured via Administration > Repository >> SCM Details >> Git Options section >> Command Timeout .

What is shallow clone in Jenkins?

A shallow clone is created using the --depth option when calling the clone command, followed by the number of commits that you want to retrieve from the remote repository.

What happens when you git clone?

Git clone is used to copy an existing Git repository into a new local directory. The Git clone command will create a new local directory for the repository, copy all the contents of the specified repository, create the remote tracked branches, and checkout an initial branch locally.


1 Answers

For me it was short timeout. In your case you may want to do the following:

  1. Increase timeout for cloning and checkout
    1. Go to job configuration and find git section
    2. Add -> Advanced clone behaviours. There you can specify timeout and check 'shallow copy' (which is faster)
    3. Add -> Advanced checkout behaviours. You can set time out for checkout.
  2. Make sure you provided right credentials in Job configuration - Source Code Management - Git - Credentials
like image 185
Ivan Leonenko Avatar answered Oct 12 '22 14:10

Ivan Leonenko