44 votes

Jenkins n'a pas pu exécuter git

J'ai installé Jenkins sur mon mac (osx lion). Mais je n'ai pas réussi à le faire fonctionner. Voici la trace de la pile que j'ai obtenue :

Started by user anonymous

Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/test/workspace - hudson.remoting.LocalChannel@1c0a0847
Using strategy: Default
Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/test/workspace - hudson.remoting.LocalChannel@1c0a0847
Cloning the remote Git repository
Cloning repository origin
Error trying to determine the git version: Error performing command: /usr/local/git/ --version
Cannot run program "/usr/local/git/" (in directory "/Users/Shared/Jenkins/Home/jobs/test/workspace"): error=13, Permission denied
Assuming 1.6
ERROR: Error cloning remote repo 'origin' : Could not clone git@coding-squirrel.de:iRest.git
ERROR: Cause: Error performing command: /usr/local/git/ clone -o origin git@coding-squirrel.de:iRest.git /Users/Shared/Jenkins/Home/jobs/test/workspace
Cannot run program "/usr/local/git/": error=13, Permission denied
Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1046)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:972)
    at hudson.FilePath.act(FilePath.java:783)
    at hudson.FilePath.act(FilePath.java:765)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:972)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:571)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:460)
    at hudson.model.Run.run(Run.java:1404)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)

87voto

Josh Brown Points 16044

La solution pour moi a été de définir le chemin d'accès à git dans les paramètres Manage Jenkins > Global Tool Configuration. Dans la section Git, j'ai modifié le paramètre Chemin vers l'exécutable Git a /usr/local/bin/git .

Global Tool Configuration

29voto

user1515962 Points 113

Vous pouvez également définir l'emplacement de Git dans la configuration du serveur/noeud de Jenkins :

Allez à Configure, dans la section Node Properties, cochez la case Tools Location et définissez votre chemin d'accès à Git.

enter image description here

21voto

Andrew Points 1

Il semble que Jenkins ait beaucoup changé. J'ai réglé ce problème en mars 2017 en faisant ceci :

  1. Allez à Manage Jenkins
  2. Allez dans Configuration globale des outils
  3. Sur Git / Path to Git executable entrez C:\<whatever the path is>\git.exe .
  4. Cliquez sur Enregistrer.

4voto

amazia Points 1253

J'ai eu un problème similaire, la solution pour Windows semble la même (mon Jenkins est installé sur une machine Windows) :

Paramètres globaux :

Aller à Gérer jenkins -> Configurer le système -> Installations Git ajoutez-y le chemin de l'exe git (par exemple : C:\Program Files\Git\bin\git.exe ), ou vous pouvez utiliser une variable d'environnement.

Pour Jenkins version 2.121.3, allez à Gérer jenkins -> Configuration globale de l'outil -> Installations Git -> Chemin vers l'exécutable Git : C:\Program Files\Git\bin\git.exe

Côté travail, Jenkins :

Aller à Gestion du code source -> sélectionner git ajoutez votre référentiel, choisissez la connexion au référentiel (http/ssh) et ajoutez les informations d'identification et cela devrait fonctionner.

4voto

Hailin Tan Points 31

Comme Darksaint2014 l'a dit, vous devez configurer deux parties si vous avez installé Jenkins sous Windows.

Si vous avez installé votre Jenkins sous Windows, vous devez installer Git à la fois sur votre serveur local et sur votre serveur linux, puis configurer les éléments ci-dessous aux deux endroits :


Configuration globale de l'outil :

global tool configuration


Pour le côté serveur :

For server side


Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X