Jenkins hangs at git fetch

坚强是说给别人听的谎言 提交于 2019-12-05 18:20:06

问题


I'm a newbie with Jenkins and Im trying to get it to run some unit tests in my.NET project.

When I run a build it hangs when trying to fetch from the git repository.

ERROR: Timeout after 10 minutes

C:\Program Files\Git\cmd\git.exe config --local --remove-section credential # timeout=10 ERROR: Error fetching remote repo 'origin' hudson.plugins.git.GitException: Failed to fetch from https://github.com/name.of.repo

I've generated the known hosts and copied the .ssh dir to C:\Windows\SysWOW64\config\systemprofile.ssh as per the jenkins instructions at https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin under "Jenkins, GIT plugin and Windows"

I ran ssh git@github.com from the cmd line and I can succesfully authenticate.

Any ideas please?

Thanks :)


回答1:


This is probably a firewall issue. You can authenticate to Github using SSH (port 22), so that route is working. Your job however is trying to access github via https://github.com (port 443) which timeouts. Try accessing github over ssh by changing the repository url to git@github.com:account/repository.git (you can find this URL on the main page of the repo, dropdown 'Choose a clone URL', option 'SSH'.




回答2:


I had the same problem as the OP. SSH credentials are stored in Jenkins and work for many other nodes accessing the same repo. I can ssh into the machine as the Jenkins user and do a git clone on the repo using the same SSH repo URL as the Jenkins job (git@git.com:account/repo.git).

As a workaround, I set the git credentials in the Jenkins job to none for now. I assume that allows it to use the credentials stored locally.

It is working now.




回答3:


Before you try to use SSH to access your remote Git repository instead of username & password,you must pay attention to the Timeout Settings for clone and fetch.

When you have a bad internet connection and a large size of remote repository will cause you clone timeout.

Go to the project settings:Source Code Management -> Additional Behaviours -> Advanced clone behaviours -> Timeout (In Minutes) for clone and fetch operations -> more than 10 minutes.

And then if you are still have the same problem that the git clone stuck for a long time whether a bad internet connection or a large size of remote repository or not,you can try to use SSH to access your remote Git repository instead of username & password.



来源:https://stackoverflow.com/questions/36749195/jenkins-hangs-at-git-fetch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!