Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git fetch --tags --progress times out in Jenkins, works fine on command line

Tags:

git

macos

jenkins

I've configured Jenkins to poll a Git repository, I'm using https not ssh. The following URL is configured, and I use a username and password.

https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git

When I run the build, it stalls for 10 minutes and times out. When I copy the line where it times out and paste it to command line on the same machine as Jenkins runs (a macOS server), it works:

git fetch --tags --progress https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git +refs/heads/*:refs/remotes/origin/*

Why is it stuck for 10 minutes? I tried to use wrong credentials and that'll fail in a second. It's not a huge repo.


The log:

Started by user Jenkins Admin
Building in workspace /Users/Shared/Jenkins/Home/workspace/Build and test new commits on develop
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git # timeout=10
Fetching upstream changes from https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git
> git --version # timeout=10
using GIT_ASKPASS to set credentials 
 > git fetch --tags --progress https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git +refs/heads/*:refs/remotes/origin/*
ERROR: Timeout after 10 minutes
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:803)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1063)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1094)
    at hudson.scm.SCM.checkout(SCM.java:495)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
    at hudson.model.Run.execute(Run.java:1728)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:404)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress https://[email protected]:8443/scm/ourrepo/ourrepo-ios.git +refs/heads/*:refs/remotes/origin/*" returned status code 143:stdout: 
stderr: 
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1745)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1489)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315)
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:801)
    ... 11 more
ERROR: null
Finished: FAILURE
like image 663
Lucas van Dongen Avatar asked Nov 28 '16 23:11

Lucas van Dongen


1 Answers

Please check if user jenkins exists on your OS and it has right permissions.

How to set up jenkins user on Mac OS X:

  • https://stackoverflow.com/a/24129589/5104202
  • https://medium.com/@ved.pandey/setting-up-jenkins-on-mac-osx-50d8fe16df9f

EDIT

Please try this (I didn't test it):

  • Make the Jenkins user an admin: sudo dseditgroup -o edit -a jenkins -t user admin

  • Add the Jenkins user to the developer group: sudo dscl . append /Groups/_developer GroupMembership jenkins

  • Make the Jenkins user automatically login when the computer is restarted

like image 72
Ivan Avatar answered Nov 01 '22 17:11

Ivan