2017-04-08 5 views
2

ich ein Setup von 2 VMs müssen Gitlab: mit jenkins, VM2 mit Gitlabkann keine Verbindung jenkins

Auf VM2 VM1 ich ein Repo mit Benutzer root mit offenem Zugang geschaffen haben http://192.168.0.32/root/sparkjava_hello_world (acccess OK) und erzeugen das Zugriffstoken

auf VM1: - ich installierte die Gitlab Plugin in jenkins - ich den öffentlichen Schlüssel des Benutzers jenkins zu authorized_key von Benutzer git in VM2 kopiert: von Benutzer jenkins shell, ssh git @ VM2 ist OK, kein Passwort gefragt - Ich habe die gitlab api credential erstellt und das Zugriffs-Token darin eingefügt - ich konfiguriere d die Gitlab url in Jenkins Manage -> Configure System-Menü (es reagiert ok)

aber wenn ich Setup die git Quelle [email protected]: root/sparkjava_hello_world.git in meinem jenkins Job, es funktioniert nicht:

fehlgeschlagen Repository verbinden: Befehl "/ usr/bin/git ls-remote -h [email protected]: root/sparkjava_hello_world.git HEAD" zurückgegeben Statuscode 128: stdout: stderr: fatal: ‚root /sparkjava_hello_world.git 'scheint kein git-Repository zu sein fatal: Konnte nicht vom Remote-Repository lesen.

Ich nehme an, die ssh-Verbindung zu VM2 ist in Ordnung, da dies keine Verbindung verweigert Nachricht ist.

Ich habe versucht, "ssh: //[email protected]: root/sparkjava_hello_world.git" nicht funktioniert entweder

Was habe ich verpasst oder falsch gemacht haben ?? Dank für Hilfe :)

+0

Ihre Fehlermeldung lautet "Verbindung zum Repository konnte nicht hergestellt werden". Daher scheint es, dass die Verbindung abgelehnt wurde. Sie könnten versuchen, SShen Sie in die jenkins-VM und versuchen, den Repo manuell zu klonen. – Loren

Antwort

0

Überprüfen Sie, ob in VM2 Sie haben noch (als defined by default in a typical gitlab.yml) ein /home/git/repositories/root/sparkjava_hello_world.git

Versuchen Sie eine interaktive SSH-Sitzung auf VM2 (von VM1) und machen die ls-remote dort:

ssh [email protected] 
git ls-remote /home/git/repositories/root/sparkjava_hello_world.git 

Für Jenkins, was Sie brauchen, ist Ihr öffentlicher Schlüssel zu verwenden (~/.ssh/id_rsa.pub) als:

Stellen Sie sicher, dass Schlüssel (Einstellungen Projekt/deploy Tasten) auf Ihrem Gitlab Projekt bereitstellen zu implementieren, und dann wird Ihre Jenkins Lage sein, Ihre zugreifen GitLab-Projekt (mit diesem SSH-Schlüssel als Anmeldeinformationen).


Anmerkung: die normale Verwendung eines Gitlab Benutzerschlüssel (wie Benutzer xxx) in VM1 wäre:

  • einen Benutzer xxx in Gitlab
  • zu definieren, seinen öffentlichen Schlüssel zu assoziieren in ihrer Benutzereinstellungen/sSH-Schlüssel (das ~git/.ssh/authorized_keys für Sie ändern wird, das Hinzufügen einer forced command line (dieser Link für gitolite ist, aber es gilt auch zu Gitlab)

das bedeutet eine 012.sollte nicht öffnen eine interaktive Sitzung, aber die Meldung generieren:

Welcome to GitLab, xxx 
0

Vielen Dank für Ihre Hilfe VonC

ich mein Problem schließlich mithilfe von HTTP-URL meiner Gitlab Repo gelöst, nicht ssh.

+0

Kein Problem: Vergessen Sie nicht, http://stackoverflow.com/help/accepted-answer und http://stackoverflow.com/help/why-vote zu lesen – VonC

Verwandte Themen