Je suis nouveau sur Jenkins
, je reçois une erreur suivante lors du clonage du référentiel à partir de GitHub
.
J'ai essayé de rechercher tous les problèmes pertinents ici, mais je pouvais trouver stacktstrace avec des réponses.
J'essaie de cloner un référentiel nécessitant un nom d'utilisateur et un mot de passe. Je fournis SSH://
chemin du référentiel dans les paramètres de configuration du travail pour mon travail. Je n'ai pas encore défini de paramètres liés à .ssh, car cela semble être un problème différent du problème de sécurité lié au référentiel GIT.
Je n'arrivais pas à comprendre quel commentaire Jenkins essayait d'exécuter, quel fichier/répertoire il ne trouvait pas désemparé.
Voici ma trace exacte de la pile du travail de Jenkins:
Causée par: Java.io.IOException: impossible d'exécuter le programme: erreur lors de la tentative de Déterminez la version de git: Erreur lors de l'exécution de la commande: --version En supposant que 1.6 ERREUR: erreur de clonage du référentiel distant 'myRE': impossible de cloner [email protected]: myORG/RVL.myProj.git hudson.plugins.git.GitException: impossible de cloner [email protected]: myORG/RVL.myProj.git sur hudson.plugins.git.GitAPI.clone (GitAPI.Java:268) à 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) à hudson.FilePath.act (FilePath.Java:824) à hudson.plugins.git.GitSCM.checkout (GitSCM.Java:1064) sur hudson.model.AbstractProject.checkout (AbstractProject.Java:1256) at hudson.model.AbstractBuild $ AbstractBuildExecution.defaultCheckout (AbstractBuild.Java:589) à l'adresse 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) sur hudson.model.ResourceController.execute (ResourceController.Java:88) à hudson.model.Executor.run (Executor.Java:236) Causée par: hudson.plugins.git.GitException: erreur lors de l'exécution de la commande: clone -o RVL.myProj [email protected]: myORG/RVL.myProj.git /var/lib/jenkins/jobs/myProj/workspace à l'adresse hudson.plugins.git.GitAPI.launchCommandIn (GitAPI.Java:862) à hudson.plugins.git.GitAPI.access $ 000 (GitAPI.Java:40) à hudson.plugins.git.GitAPI $ 1.invoke (GitAPI.Java:264) à hudson.plugins.git.GitAPI $ 1.invoke (GitAPI.Java:244) at hudson.FilePath.act (FilePath.Java:842) à hudson.FilePath.act (FilePath.Java:824) sur hudson.plugins.git.GitAPI.clone (GitAPI.Java:244) ... 13 autres Causée par: Java.io.IOException: impossible d'exécuter le programme "" : erreur = 2, aucun fichier ou répertoire de ce type sur Java.lang.ProcessBuilder.start (Source inconnue) à hudson.Proc $ LocalProc. (Proc.Java:244) à hudson.Proc $ LocalProc. (Proc.Java:216) sur hudson.Launcher $ LocalLauncher.launch (Launcher.Java:709) at hudson.Launcher $ ProcStarter.start (Launcher.Java:338) at hudson.Launcher $ ProcStarter.join (Launcher.Java:345) à l'adresse hudson.plugins.git.GitAPI.launchCommandIn (GitAPI.Java:843) ... 19 autres Causée par: Java.io.IOException: error = 2, aucun fichier ou répertoire de ce type à Java.lang.UNIXProcess.forkAndExec (méthode native) à Java.lang.UNIXProcess. (Source inconnue) à Java.lang.Pro
J'ai rencontré et résolu le même problème :)
Il y a deux façons de configurer le chemin de git:
Sur Jenkins Master
une. Entrez Jenkins System Configure (Jenkins -> Gérer Jenkins -> Configurer le système)
b. Recherchez l'élément Git et configurez l'installation de git (spécifiez le chemin d'accès sur git maître Jenkins)
Sur Jenkins Slave
une. Entrez Jenkins Slave's Configure
b. Cochez la case "Emplacements des outils" et spécifiez le chemin de git sur l'esclave Jenkins.
Dans ma situation, je n'ai pas le privilège d'accéder au maître Jenkins. J'installe donc le git sur l'esclave Jenkins et l'ajoute à la configuration de Jenkins Slave.
Cela semble être un bogue, voir JENKINS-16523 où j'ai posté une solution de contournement.
Je suis passé par le même problème.
J'ai remarqué le mélange de configuration git dans des travaux individuels "/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>
J'ai donc corrigé le nom de gitTool et redémarré Jenkins. Il semble que la configuration de git ne fonctionne pas correctement et que le changement de git ne soit pas propagé à tous les travaux.
Sachez également que la configuration de git peut différer dans le fichier .xml avec la configuration et la configuration dans la face web du Jenkins !!!
Cela pourrait arriver pour diverses raisons.
Ce blog, Erreur Jenkins Git Clone , explique tous les scénarios de cette erreur et sa solution.
J'ai rencontré le même problème après avoir créé une nouvelle variable JOB
et corrigé le nom de l'esclave (avec GIT
installé) dans Label Expression
sous Restrict where this project can be run
.
git --version
sur maître ou esclavePATH
.git --version
sur Master ou Slave et assurez-vous d’obtenir la version valideÀ l'exception de l'étape indiquée par superlee, vous devez configurer les propriétés de votre nœud pour votre serveur, l'emplacement des outils si votre système local est Windows, reportez-vous à la capture d'écran ci-dessous: