Дженкинс дает ошибку при клонировании с gitHub
Я новичок в Jenkins
, я получаю следующую ошибку при клонировании репозитория от GitHub
.
Я попытался найти все соответствующие проблемы здесь, но смог найти точную команду stacktstrace с ответами.
Я пытаюсь клонировать репозиторий, который требует имени пользователя и пароля, я предоставляю SSH://
путь репозитория в настройках конфигурации заданий для моей работы. Я еще не выполнил никаких связанных с .shsh настроек, так как это кажется другой проблемой, чем проблема с безопасностью с репозиторией GIT.
Я не мог понять, какой комментарий пытается выполнить Jenkins, какой файл/каталог он не обнаруживает.
Вот моя точная трассировка стека из задания Дженкинса:
Вызвано: java.io.IOException: не удается запустить программу: ошибка при попытке определить версию GIT: Ошибка выполнения команды: --version Предполагая 1.6 ОШИБКА: Ошибка клонирования удаленного репо 'myRE': не удалось клонировать git @github.com: myORG/RVL.myProj.git hudson.plugins.git.GitException: не удалось клонировать git @github.com: myORG/RVL.myProj.git в hudson.plugins.git.GitAPI.clone(GitAPI.java:268) at hudson.plugins.git.GitSCM $2.invoke(GitSCM.java:1122) на hudson.plugins.git.GitSCM $2.invoke(GitSCM.java:1064) at hudson.FilePath.act(FilePath.java:842) at hudson.FilePath.act(FilePath.java:824) на hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064) в hudson.model.AbstractProject.checkout(AbstractProject.java:1256) at hudson.model.AbstractBuild $AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589) в jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild $AbstractBuildExecution.run(AbstractBuild.java:494) в hudson.model.Run.execute(Run.java:1502) на hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) at hudson.model.ResourceController.execute(ResourceController.java:88) на hudson.model.Executor.run(Executor.java:236) Вызвано: hudson.plugins.git.GitException: Ошибка выполнения команды: clone -o RVL.myProj git @github.com: myORG/RVL.myProj.git /Вар/Library/Jenkins/работа/MYPROJ/рабочее пространство в hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:862) at hudson.plugins.git.GitAPI.access $000 (GitAPI.java:40) at hudson.plugins.git.GitAPI $1.invoke(GitAPI.java:264) at hudson.plugins.git.GitAPI $1.invoke(GitAPI.java:244) at hudson.FilePath.act(FilePath.java:842) at hudson.FilePath.act(FilePath.java:824) в hudson.plugins.git.GitAPI.clone(GitAPI.java:244) ... еще 13 Причиняется: java.io.IOException: не удается запустить программу "": ошибка = 2, нет такого файла или каталога в java.lang.ProcessBuilder.start(Неизвестный источник) в hudson.Proc $LocalProc. (Proc.java:244) в hudson.Proc $LocalProc. (Proc.java:216) at hudson.Launcher $LocalLauncher.launch(Launcher.java:709) в hudson.Launcher $ProcStarter.start(Launcher.java:338) в hudson.Launcher $ProcStarter.join(Launcher.java:345) в hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:843) ... еще 19 Вызывается: java.io.IOException: error = 2, Нет такого файла или каталога в java.lang.UNIXProcess.forkAndExec(собственный метод) в java.lang.UNIXProcess. (Неизвестный источник) на java.lang.Pro
Ответы
Ответ 1
Я столкнулся и исправил ту же проблему:)
Существует два способа настройки пути git:
-
В Мастер Дженкинса
а. Введите конфигурацию системы Jenkins (Jenkins → Управление Jenkins → Настройка системы)
б. Найдите элемент Git и настройте установку Git (укажите путь Git на Jenkins Master)
-
В рабстве Дженкинса
а. Введите настройку ведомого устройства Jenkins
б. Установите флажок "Места расположения инструментов" и укажите путь Git на подчиненном устройстве Jenkins.
В моей ситуации у меня нет права доступа к Мастеру Дженкинса. Поэтому я устанавливаю Git на Slave Jenkins и добавляю его в Jenkins Slave Configure.
Ответ 2
Кажется, это ошибка, см. JENKINS-16523, где я опубликовал обходной путь.
Ответ 3
Я прошел ту же проблему.
Я заметил смесь конфигурации git в отдельных заданиях "/var/lib/jenkins/jobs/job_name/config.xml":
[[email protected] jobs]# find . -maxdepth 2 -name config.xml|xargs grep '<gitTool>'
./job1/config.xml: <gitTool>git</gitTool>
./job2/config.xml: <gitTool>Default</gitTool>
./job3/config.xml: <gitTool>git</gitTool>
./job4/config.xml: <gitTool>Default</gitTool>
Итак, я установил имя gitTool и перезапустил Jenkins. Похоже, что конфигурация git выполнена неправильно, а изменение git не распространяется на все задания.
Также имейте в виду, что конфигурация git может отличаться в XML файле с конфигурацией и конфигурацией в веб-интерфейсе Jenkins!!!
Ответ 4
Я столкнулся с той же проблемой после того, как создал новый JOB
, исправил его имя пользователя (с GIT
Installed) в Label Expression
под Restrict where this project can be run
.