Subversion nicht zugänglich Hudson (svn:connection refused by server)
Auf einem PC mit Vista 32Bit SP2 (Benutzerkontensteuerung aktiviert, Kaspersky Security-Suite mit firewall aktiviert) ich habe ein Subversion-server (mit den SlikSVN-installer 1.6.13), Tomcat 7.0, Java 6u21 und Hudson 1.386. Ich bin Zugriff auf den Hudson über die http-Schnittstelle mit Firefox 3.6 ("http://localhost:8080/hudson"
). Ich heruntergeladen habe, eine einfache demo-repo-und begann auf dem subversion-server, das hinzufügen der repo. Wenn der Befehl
"svn list
svn://localhost/gameoflife/trunk"
eingegeben an der Eingabeaufforderung der server druckt die Liste. Kann ich Zugriff auf das repo mit TortoiseSVN durch einen Rechtsklick auf den entsprechenden Ordner im Windows Explorer, auch. Alles scheint richtig eingerichtet werden. Aber die folgenden zwei Dinge funktionieren nicht:
-
Eingabe
"svn://localhost/gameoflife/trunk"
im browser. Der browser fragt, ob er verwenden soll, TortoiseSVN, um es zu öffnen, aber nach der Vereinbarung, TortoiseSVN kann keine Verbindung herstellen ("refused by server"). -
Viel wichtiger und der Grund für meine Frage ist, dass Hudson kann keine Verbindung zum SVN. Der build-log zeigt
"ERROR: Failed to check out svn://localhost/gameoflife/trunk"
. Die Projekt-Konfiguration beschwert sich, dass die repository-URL "svn://localhost/gameoflife/Stamm" kann nicht zugegriffen werden ("svn:connection refused by the server"
) und schlägt vor, fügen Sie die Berechtigung Daten. Aber das habe ich noch nicht eingerichtet, Benutzer und Passwort auf dem svn-server. Ich habe aktualisiert die Hudson Subversion-plugin von 1.20 zu 1.21, aber das konnte nichts ändern. Das deaktivieren der firewall nichts verändert.
Ich bin mir ziemlich sicher, dass ich folgte eine detaillierte Schritt-für-Schritt-Anweisungen genau wenn ich den build-server, aber kein pro mit Subversion noch Hudson ich bin nun fest. Daher meine Frage: Was ist der Grund, Hudson keinen Zugriff auf Subversion und wie kann ich machen, damit es funktioniert?
UPDATE: ich stellte sicher, dass Vista die Hosts-Datei hat "127.0.0.1 localhost" drin (aber die URL nicht funktioniert auch bei der Eingabe von 127.0.0.1 statt localhost). Ich habe überprüft, dass port 3690 wird nicht durch eine firewall blockiert. Meine Fehlermeldung nicht, es hat Authentifizierungsfehler, noch sagt es aus, dass der server aktiv verweigert die Verbindung. Es ist die gleiche Fehlermeldung erhält man bei der Eingabe einer nicht vorhandenen URL. Wenn die gleiche URL nicht funktionieren würde an der Eingabeaufforderung der Konsole würde ich annehmen, ich hatte einen Tippfehler drin, aber ich doppelt überprüft mehrmals. Könnte es ein Vista problem, aber ich kann immer noch nicht die Lösung finden.
UPDATE 2: ich bin mehr und mehr davon überzeugt, es muss eine Nebenwirkung der Art, wie mein Vista-system (mis)konfiguriert. Hudson arbeitet, Subversion arbeitet. Aber Sie wird nicht funktionieren zusammen wenn beides auf dem gleichen Rechner laufen. Ich war in der Lage, den Zugriff auf eine remote Subversion-server von Hudson ohne ein problem. Aber die gleichen Hudson war nicht in der Lage, Zugriff auf Subversion lokal. Ich reproduzierte die "nicht lokal" Verhalten, wenn Sie es einrichten auf einem ähnlich konfigurierten Vista-PC (Haupt-Unterschied mit 64-bit-Versionen dieser Zeit, und Avira freeware anstelle von Kaspersky).
Ich habe versucht, den Austausch der Subversion-distribution mit einem anderen (VisualSVN-Server-2.1.4) und versuchte den Zugriff mit https. Zunächst schien ich, Fortschritte zu machen, aber jetzt ist es nicht mit einem handshake-Fehler, wenn die Dateien wurden über abgerufen werden aus dem repo.
Da kann ich nicht die Ursache gefunden für mein problem, ich bin die Umstellung auf ein anderes CI-Build-Tool jetzt. Trotzdem vielen Dank für das investieren deiner Zeit, um mir zu helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst von allen, können Sie sich anmelden, wie Sie Ihre Hudson-Benutzer (d.h. der Benutzer, der läuft dem Hudson-server), und sehen, ob das Hudson Benutzer Zugriff auf die subversion-Datenbank?
Zeigen wird, das problem zu 90% der Zeit. Es ist in der Regel einige kleine Problem, wie eine schlechte WEG oder bad-Authentifizierung. Wenn Sie zur Kasse und erstellen von der Befehlszeile aus wie das Hudson-Benutzer sind, Sie sollten in der Lage sein, es zu tun durch Hudson.
Weiß ich, auf Windows, ein server-Prozess generieren können einige server Benutzer, die nicht angemeldet sein, von der Kommandozeile aus, aber Sie können auch angeben, einen realen Benutzer als server-Prozess zu. Es ist besser, Subversion und Hudson, um anzugeben, eine echte Nutzer, so dass Sie tun können, Befehlszeile, Fehlersuche, wenn nötig.
Es klingt wie Sie versuchen, suchen Sie eine Subversion-repository, die mit den
svnserve
- server mit einem web-browser. Die meisten web-Browser können in der Regel nicht Griff diesvn
Protokoll.Was Sie tun sollten verwenden Sie so etwas wie ViewCVS oder Sventon für das surfen im repository im web-browser. Hudson spielt schön mit beiden Paketen und integriert es ändern Bericht mit diesen Paketen. Ein Klick auf einen Dateinamen zeigt Ihnen die Unterschiede zwischen der version, die verwendet wurde, in den Bau, und die Vorherige version.
ViewCVS verwendet Python und Sventon ist ein Java-Paket. Ich bevorzuge Sventon, weil es nicht zum Leben brauchen, die auf Ihre Subversion-repository-server.
Hudson konnte keine Verbindung anonym zu svnserve auf Windows 7 (64 Bit) mit dem standard-Vorgaben. Die folgenden Parameter Hinzugefügt, um die Kommandozeile erfolgreich waren.
svnserve -d --listen-port 3690 --listen-host 127.0.0.1 -r svn-repos
Es klingt wie Sie müssen die Authentifizierung zu sprechen subversion. Wenn der anonyme Lesen ist nicht ein problem für Ihr Unternehmen, ich schlage vor, Sie setzen Ihren server für den anonymen lese-Anfragen.
Wenn es ein problem können Sie eingeben der authentifizierungsdetails in hudson.
Wenn Ihr mit eine moderne version, es sollte Sie darüber informieren, Authentifizierung fehlgeschlagen und Sie müssen die Anmeldeinformationen einzugeben.
Versuchen, eine Verbindung auf port 3690 mit telnet (
telnet localhost 3690
). Wenn es nicht funktioniert, prüfen Sie, ob svnserve-daemon/Dienst installiert ist und ausgeführt wird.Diese beiden Tipps stammen aus http://old.nabble.com/SVN-protocol.-Connection-refused-by-the-server-tt22481558.html#a22481558
Den letzten Kommentar sagt:
Andere Lösung...
Svn-server reagiert nur auf ipv6... ich kann nicht erklären warum, ich bin weder ein windows-oder Netzwerk-guru, aber es funktioniert...
Meine /windows/system32/drivers/etc/hosts:
Ich acces svn über svn://local-svn://trunk/...
Habe ich Zugriff auf tomcat mit http://local-tomcat:8080/
Versuchen, zu verwenden ipv6-Zugriff auf tomcat schlägt fehl.
Versucht die ipv4-Zugriff auf svn schlägt fehl.