Je veux créer un post-receive
git
hook qui informe jenkins
de la modification, mais aucun travail n'est déclenché dans jenkins
.
Ma post-receive
hook ressemble à ceci:
curl http://localhost/jenkins/git/notifyCommit?url=<git_repository_url>
Si j'émets la commande dans le terminal, j'obtiens le message suivant:
"No git consumers for URI..."
J'ai un travail jenkins qui est connecté à Git Source Code Management, l'URL du référentiel est donnée ainsi que les branches: */master
J'ai recherché ce problème, mais je n'ai trouvé rien d'utile en rapport avec: "Pas de consommateurs git pour l'URI"
J'utilise:
J'ai une configuration de proxy dans Apache:
<Proxy *>
Order deny,allow
deny from all
allow from 127.0.0.1
</Proxy>
Le dépôt git est bare
.
Activez l'interrogation SCM pour chaque projet que vous souhaitez notifier:
La notification que vous envoyez indique à Jenkins d'interroger le référentiel, donc les projets ne répondront que si l'interrogation SCM est activée.
Le message No git consumers for URI
apparaît toujours, vous devriez être inquiet si vous voyez No git jobs using repository
. La réponse contiendra une liste des travaux planifiés pour l'interrogation, donc tant que vous les voyez, l'interrogation a été déclenchée.
Cela dit, vous voudrez peut-être vérifier que l'interrogation est réellement faire quelque chose. Si vous entrez dans un travail configuré avec Git, vous pouvez voir un lien vers le journal d'interrogation Git sur la gauche. Là, vous pourrez voir si le déclencheur a réellement fait quelque chose et, plus important encore, s'il y a eu une erreur.
J'ai eu un problème similaire à celui-ci, et il m'a fallu un certain temps pour comprendre que mon Git était mal configuré. Mon travail se développera correctement lorsqu'il sera déclenché manuellement, mais le déclencheur d'interrogation utiliserait un chemin différent vers le binaire Git et échouerait. J'ai fini par devoir définir le chemin Git pour résoudre mon problème.
J'ai dû prendre les mesures suivantes:
Après avoir terminé # 1 en plus de "Pas de consommateurs git pour URI gitRepoURI", j'ai également obtenu, "Interrogation planifiée de projectName".
Cependant, en regardant le journal d'interrogation Git, j'ai trouvé le message d'erreur: Impossible d'exécuter le programme "C:\Program Files (x86)\Git\bin\git.exe": error = 2, No such file or directory
Pour corriger cette erreur, j'ai dû configurer la gestion du code source pour forcer l'interrogation à l'aide de l'espace de travail (# 3). Je ne sais pas pourquoi, car les versions initiées manuellement fonctionnent correctement. Peut-être un bug - peut-être le mélange d'un serveur Linux et d'un esclave Windows. Mais de toute façon, cela m'a finalement arrangé. J'espère que cela aide.