wake-up-neo.net

Jenkins Git Plugin: Fehler beim Herstellen der Verbindung zum Repository, Statuscode 128 zurückgegeben

Ich versuche, ein Remote-GitHub-Unternehmens-Repository zu klonen. Nach dem Hinzufügen der URL meines Remote-Repos zum Git Plugin in meiner Jenkins-Konfiguration tritt der folgende Fehler auf:

hudson.plugins.git.GitException: Command "/usr/bin/git -c askpass=true fetch --tags --progress https://github.com/myUsername/myProject.git  refs/heads/*:refs/remotes/Origin/*" returned status code 128: stdout: stderr: fatal: unable to access https://github.myOrg.com/myUsername/myProject.git/': Failed to connect to github.com port 443: Operation timed out    at... 

Konfigurationsdetails & Dinge, die ich ausprobiert habe:

  • Die Jenkins-URL hat den Standardwert von http: // localhost: 8080/ (Warnung: "Bitte setzen Sie einen gültigen Hostnamen anstelle von localhost")
  • Alle aufgeführten Abhängigkeiten wurden für das Git Plugin installiert.
  • Ich habe git-Berechtigungsnachweise für die Autorisierung zum Remote-Repo meiner Organisation hinzugefügt
  • Ich habe versucht, meine persönlichen Anmeldeinformationen und das Repo mit dem gleichen Ergebnis dem Plugin hinzuzufügen
  • Ich habe für "Path to Git executable" sowohl "git" als auch "/ usr/bin/git" eingestellt. 
  • Ich kann sowohl über die Befehlszeile als auch im Browser eine Verbindung zu Git herstellen

Fragen:

  • Soll ich irgendwie Authentifizierung (SSH-Schlüssel) bereitstellen, damit Jenkins mein Remote-Repo verwenden/klonen kann?
  • Warum gibt Jenkins eine Warnung aus, dass die Standard-URL verlassen wird? Bedeutet das, dass ich Jenkins an einen anderen Ort als meinen lokalen Computer stellen muss?

Ich habe dieses Problem seit einigen Tagen behoben und bin mir nicht sicher, was meine Probleme an diesem Punkt sind. Bitte helfen !!

6
ebbfl0
  1. Bezüglich Ihrer ersten Frage müssen Sie den richtigen ssh-Schlüssel Mit dem entsprechenden Repository verknüpfen. Sie können dies in /var/lib/jenkins/.ssh/config Datei - ausführliche Erklärung isthier Dies ist eine robustere Lösung in Bezug auf die Unterstützung von Mehreren Git-Repos OR in den /.ssh Ordner. Versuchen Sie zur Fehlerbehebung, klonen Sie github repo unter jenkins Benutzer In Ihrer jenkins-Box.

  2. Zu Ihrer 2. Frage. Hier sind meine Netzwerkeinstellungen in jenkins Und ich habe keine Warnmeldungen: /etc/hosts: 127.0.0.1 localhost localhost.localdomain/etc/sysconfig/network: HOSTNAME=localhost.localdomain. Ihr Hostname und Ihr localhost sollten auch innerhalb des Jenkins-Servers aufgelöst werden.

4
Dmitry Savinkov

Es ist ein bisschen seltsam, aber wenn Sie gitlab.com verwenden, scheint der Fehler verschwunden zu sein, wenn Sie sich auf der Website (gitlab.com) mit dem gitlab-Konto anmelden, das zum Klonen des Projekts von Jenkins verwendet wird.

1
gersonZaragocin

Problem wurde gelöst. Befolgen Sie die Schritte hier für neues Keygen. Am Terminal angemeldet als: jenkins $ (Sudo -i -u jenkins). Ich konnte schließlich neu generierte Schlüssel zu /Users/Shared/Jenkins/.ssh/id_rsa( hinzufügen. (Ich habe versucht zu reproduzieren, wie meine anderen SSH-Schlüssel in /Users/me/.ssh auf meinem Mac gespeichert sind).

  • Ich musste auch die Berechtigungsstufen für den obigen SSH-Schlüsselordner einschränken, um zu vermeiden, dass ein Fehler auftritt und die Authentifizierung mit dem ssh -t..und zu git -> Kontoeinstellungen -> ssh-Schlüssel (speziell für Jenkins) hinzugefügt wird. 

  • Danach ging ich zu Jenkins/configure und fügte meinen neuen privaten Schlüssel zu CVS hinzu. In meinem Projekt musste ich Anmeldeinformationen (SSH-Benutzername mit privatem Schlüssel) hinzufügen, wobei das Optionsfeld "Vom Jenkins-Master ~/.ssh" ausgewählt wurde. 

1
ebbfl0