ls-remote вызывает таймаут и возвращает код ошибки -1 при опросе git-сервера через jenkins

Я пытаюсь настроить сервер Jenkins (версия 1.656) на запуск уведомления о фиксации сборки, но каждый опрос, запланированный или инициированный после того, как уведомление, полученное Jenkins, истекает по времени:

Started on 12.07.2016 13:49:39
Using strategy: Default
[poll] Last Built Revision: Revision 5d9aca316442628a4a4232f0d91db4aa364097c8 (refs/remotes/origin/<mybranch>)
using .gitcredentials to set credentials
 > git.exe --version # timeout=10
 > git.exe init C:\windows\TEMP\hudson5601032587070717608tmp # timeout=10
 > git.exe config --local credential.username <myuser> # timeout=10
 > git.exe config --local credential.helper store --file=\"C:\windows\TEMP\git5393454342982372389.credentials\" # timeout=10
 > git.exe -c core.askpass=true ls-remote -h http://<myrepo.git> # timeout=10
ERROR: Timeout after 10 minutes
 > git.exe config --local --remove-section credential # timeout=10
FATAL: hudson.plugins.git.GitException: Command "git.exe -c ore.askpass=true    ls-remote -h http://<myrepo.git>" returned status code -1:
stdout: 
stderr: 
hudson.util.IOException2: hudson.plugins.git.GitException: Command "git.exe -c core.askpass=true ls-remote -h http://<myrepo.git>" returned status code -1:
stdout: 
stderr: 
    at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:573)
    at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:381)
    at hudson.scm.SCM.poll(SCM.java:398)
    at hudson.model.AbstractProject._poll(AbstractProject.java:1446)
    at hudson.model.AbstractProject.poll(AbstractProject.java:1349)
    at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:526)
    at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:555)
    at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:119)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: hudson.plugins.git.GitException: Command "git.exe -c core.askpass=true ls-remote -h http://<myrepo.git>" returned status code -1:
stdout: 
stderr: 
    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.launchCommandWithCredentials(CliGitAPIImpl.java:1349)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1340)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2441)
    at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:627)
    at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:571)
    ... 12 more
Done. Took 10 Minuten
No changes

И сервер, и ведомый работают в Windows, с приложением git для Windows. Ошибка происходит при каждом задании: 3 работают в разных ветвях одного и того же хранилища, а другое - во втором хранилище, расположенном на том же сервере Bonobo, доступ к которому осуществляется через HTML.

Кроме того, если я пытаюсь выполнить команды с моего собственного компьютера (не ведомого) или сервера, он выполняется правильно, даже если я задаю имена пользователей, неизвестные моему компьютеру и хранилищу.

Еще одна странная вещь, которую я заметил, - это то, что учетные данные могут быть причиной этой проблемы, так как изменение конфигурации задания на неправильного пользователя вызывает ту же ошибку. Я не могу получить доступ к ведомому устройству, и запуск команд, выполненных выше, через консоль сценария Дженкинса, не возвращает строки (я полагаю, еще один таймаут?). Я также пытался посмотреть на git config --list на нем, который содержит:

core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
credential.helper=manager

Наконец, я не знаю, имеет ли это отношение к этой проблеме, но когда я пытаюсь notifyCommit на сервере Jenkins с помощью curl со своего собственного компьютера, он находит задания, используя указанный репозиторий, но говорит No Git consumers using SCM API plugin for : <myrepo.git>, даже если опрос все еще запущен этим уведомлением.

Есть ли ссылка на SSH, висящую с плагином git? Если я не ошибаюсь, доступ с URL не должен вызывать эту проблему, верно? Кроме того, я предполагаю, что есть место, где хранятся учетные данные, о которых я не знаю?

Спасибо за помощь ребята.

0 ответов

Другие вопросы по тегам