Jenkins Benachrichtigungs-Poll-Build schlägt fehl mit "Keine Git-Konsumenten für URI ssh: // Pfad"

8

Immer wenn mein Jenkins über ein neues Git-Commit in meinem Repository foo benachrichtigt wird , erhalte ich auf dem auslösenden Client die folgende Protokoll- / Fehlerantwort:

Scheduled polling of foo
No git consumers for URI ssh://git@localhost:9777/path/to/foo.git

Diese fehlgeschlagene Benachrichtigung beginnt nicht mit dem Aufbau. Mit dem Handbuch "Jetzt erstellen" wird erfolgreich mit dem Erstellen begonnen.

Installieren

  • Ich habe die Jenkins-Instanz abgehört localhost:8666.
  • Ich habe den SSH-Daemon abgehört localhost:9777.
  • Innerhalb von Jenkins habe ich ein Maven-Projekt auf Git-Basis:
    • "Maven Projektname" ist foo .
    • "Git Repository URL" ist ssh://git@localhost:9777/path/to/foo.git.
  • In diesem nackten Repository habe ich eine Hook-Datei hooks/post-receivemit Inhalten:

.

# this is file post-receive
curl http://localhost:8666/git/notifyCommit?url=ssh://git@localhost:9777/path/to/foo.git

Diese Building-on-Commit-Benachrichtigung funktionierte früher gut. Ich habe das Gefühl, dass es nicht mehr gut funktioniert, als ich von Standard-SSH-Port 22 auf Nicht-Standard-9777 umgestiegen bin.

Was muss ich tun, damit eine Commit-Benachrichtigung zu einem erfolgreichen Build-Trigger führt?


Möglicherweise relevante Quellcodedateien:

Abdull
quelle

Antworten:

5

Dinge, die Sie beim Anschließen eines Hakens an Jenkins beachten sollten:

  1. Aktivieren Sie die Poll SCMOption in den Build-Triggern und lassen Sie den Textbereich "Zeitplan" leer

  2. Der url=xxxParameter muss mit der in der Jobkonfiguration angegebenen "Repository-URL" übereinstimmen. Wenn ssh: // vorangestellt ist, sollten Sie es im Benachrichtigungsaufruf behalten

  3. Vergiss nicht push a change to the repodich zu konfigurieren! Um zu überprüfen, ob Sie Änderungen haben: http://jenkins-url:jenkins-port/job/JOB-NAME/scmPollLog/sollte in der letzten Zeile "Änderungen gefunden" enthalten.

Quelle: Git-Plugin-Dokumente

Filippo Vitale
quelle
2
# 3 ist wichtiger als es scheint. Überprüfen Sie, ob Sie zum richtigen Zweig gewechselt haben, wenn Ihr Job nicht zum Erstellen jedes Zweigs konfiguriert ist. Zumindest hatte ich fast zwei Stunden lang nach einem Fehler gesucht. Und obwohl der Build-Job erfolgreich ausgelöst wurde, wird beim Push immer noch die Meldung "Keine Git-Konsumenten für URI" angezeigt.
Bombe
Mir fehlt noch ein Stück. Meine " jenkins-url: jenkins-port / job / JOB-NAME / scmPollLog " sagt "Änderungen gefunden", aber ich erhalte immer noch "Keine Git-Jobs mit Repository: URL und Zweigen:" :-(. Ich habe sogar das Poll SCM-Plugin installiert .
Pevik
0

Ich war mit der gleichen Sache fest.

Das Problem ist, dass sich seit dem letzten Build nichts an deinem Git geändert hat. Nehmen Sie einfach einige Änderungen vor und verwenden Sie dann die Jenkins-Benachrichtigungs-URL. Es wird funktionieren.

Ich benutzte:

http://<jenkins-server_link>/git/notifyCommiturl=http://<gitrepo>.git
Shashank Agarwal
quelle
-1

Sie brauchen den Teil ssh: // nicht.

Versuche es mit:

curl http://localhost:8666/git/notifyCommit?url=git@localhost:9777/path/to/foo.git

Holger
quelle