git plugin pour Jenkins ne parvient pas à cloner un repo de la machine locale. Code d'erreur 128
Erreur:
Failed to connect to repository : Command "/usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEAD" returned status code 128:
stdout:
stderr: fatal: 'home/myuser/path/to/project' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
J'ai essayé ce qui suit:
chmod 777
pour les pensions de dossier(dossier contenant .répertoire git)chowned
àjenkins:jenkins
sur le repo dossier- essayé de cloner sur un autre dossier, à partir de ce local pensions de dossier: cela fonctionne!
Quand je lance la commande ci-dessus: /usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEAD
sur cmd-je obtenir les branches.
Mes questions sont:
- pourquoi est
git ls-remote -h ...
de commande appelé quand il doit êtregit clone ...
? - Comment configurer jenkins, git plugin pour extraire le code du local des pensions de
Mon environnement:
RHEL 5.9
Jenkins 1.519 installé en tant que service(pas de conteneur Web)
source d'informationauteur Vikram | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
Lors de l'installation de
Jenkins
comme un service, par défaut,Jenkins
ne pas créer un répertoire de l'utilisateur comme dans:/home/jenkins
. Jenkins répertoire de base par défaut est définie à/var/lib/jenkins
. De mon travail, comme vous le souhaitez,jenkins
a de la difficulté à accéder à des ressources locales à partir d'autres utilisateurs de l'annuaire.J'ai déplacé mon cloné pensions en vertu de Jenkins répertoire de base par défaut c'est à dire moins
/var/lib/jenkins
donc monRepository URL
dans Jenkins Projet de la configuration ressemble à:file:///${JENKINS_HOME}/repo/<myprojectname>
Mise à JOUR:
Le ci-dessus fonctionne très bien ...mais j'ai trouvé une meilleure façon de le faire à partir de ce blog
Les différentes étapes sont décrites ici:
rechercher
/etc/init.d/jenkins
script. Il y a quelques$JENKINS
les variables définies. Cela devrait vous conduire à la
sysconfig
pour jenkins, c'est à dire/etc/sysconfig/jenkins
.Arrêter votre instance jenkins:
sudo /sbin/service jenkins stop
Faire une sauvegarde
cp /etc/sysconfig/jenkins /etc/sysconfig/jenkins.bak
Dans ce fichier, modifiez la propriété suivante:
$JENKINS_USER="<your desired user>"
De modifier la propriété de tous les Jenkins répertoires:
chown -R <your desired user>:<your user group> /var/lib/jenkins
chown -R <your desired user>:<your user group> /var/cache/jenkins
chown -R <your desired user>:<your user group> /var/log/jenkins
Redémarrer jenkins et que l'erreur devrait disparaître
sudo /sbin/service jenkins start
Cette erreur devrait disparaître dès maintenant!
Il a été un moment depuis que cette question a été posée, mais j'ai eu ce problème aujourd'hui et il y a très peu de ressources. Plus probablement, parce que les gens ont tendance à se connecter à des dépôts git à distance.
J'ai vérifié à l'aide de strace qu'est-ce exactement jenkins a été fait et oui, c'était un problème de permissions.
Mais je l'ai résolu de façon plus simple que de répondre #2 - par l'ajout de jenkins pour le serveur git groupe - dans mon cas, git1:
root# gpasswd -a jenkins git1
root# service jenkins restart
Je suis à court de Jenkins sur Windows et avait le même problème. J'ai été en mesure de résoudre ce problème en ayant le Jenkins journal de service en tant que mon utilisateur sur mon ordinateur portable.
(Windows 7)
Jenkins utilise
git clone
commande que pour la première fois à un espace de travail est configuré pour un projet. D'autres instances utilise legit ls-remote
commande.J'ai eu le même problème lorsque j'ai configuré Jenkins. Il a été résolu en jouant avec les Clés SSH. Cela ressemble à un problème de configuration. Vérifier si les Clés SSH sont le programme d'installation pour le Jenkins compte.
Aussi, voir la procédure étape par étape de configuration de SSH dans le lien fourni. Cela pourrait ne pas vous donner la solution exacte, mais il peut vous aider à trouver la solution.
http://oodlestechnologies.com/blogs/How-to-setup-Jenkins-With-Grails-on-Ubuntu
Je trouve que les autres solutions sont un peu "hacky" pour moi. Ce que j'ai fait était de déplacer le Jenkins Maison dossier /Utilisateurs/Partagé//Utilisateurs/[myacccount]/. De cette manière, mon Jenkins aura accès à mon repos et mon kit SDK d'Android (parce que c'est là que j'ai utiliser Jenkins). Puis modifier le jenkins_home comme pointant variable d'environnement. Je l'ai fait en entrant dans le jenkins_home comme pointant dans mon .bash_profile (mais il y a d'autres façons de le faire).
Remarque: j'utilise OSX