Einfaches Web-Frontend für die Remote-SVN-Administration? [geschlossen]


8

Wir betreiben ein SVN-Repository. Einige unserer fortgeschrittenen Benutzer müssen in der Lage sein, eine SVN-Verwaltung durchzuführen, ohne sich auf den Systemadministrator verlassen zu müssen.

Sie müssen in der Lage sein, SVN-Repositorys zu erstellen, SVN-Repositorys zu löschen und Befehle wie 'svnadmin dump' und 'svnadmin load' auszuführen.

Wir möchten den SSH-Zugriff auf diesen FreeBSD-Computern vermeiden und möchten lieber eine Serviceschnittstelle über eine Web-Benutzeroberfläche bereitstellen.

Ich suche ein einfaches Skript (oder eine kleine Anzahl von Skripten), die Perl oder PHP verwenden. Ich fand svnadmin (von Jochen Hoenicke) oder svnadmin.pl (von doug munsinger), hoffte aber, etwas mit einer größeren Benutzergemeinschaft zu finden, oder das von anderen empfohlen wurde.

Es sieht so aus, als ob Trac die SVN-Verwaltung erlaubt, aber möglicherweise mehr Funktionen enthält, als wir benötigen.


Aus Ihrem Wortlaut geht hervor, dass Sie svnadmin abgelehnt haben, nur weil Sie nicht der Meinung sind, dass es eine ausreichend große Benutzerbasis hat. Lese ich das richtig Noch wichtiger ist, passt es zu Ihren Bedürfnissen oder nicht? Wie viele andere es benutzen, sollte nicht einmal ein Faktor sein.
John Gardeniers

@ John Gardeniers: Wir haben svnadmin oder svnadmin.pl nicht abgelehnt. Wenn ich jedoch die Wahl zwischen einem Projekt mit einem Autor und einem Projekt mit einer Community hatte, werde ich normalerweise letzteres wählen, solange beide Projekte meinen Anforderungen entsprechen. Ich vertraue eher einem von der Community unterstützten Skript, da eine Community häufig in der Lage ist, verbesserte Optimierungen, Sicherheitskorrekturen, Beantwortung von Fragen usw. vorzunehmen. Trotzdem werden wir uns aufgrund seiner einfachen Natur wahrscheinlich für svnadmin entscheiden und es ist lesbarer Code. Nicht, dass irgendetwas mit svnadmin.pl nicht stimmt.
Stefan Lasiewski

Ich habe auch eine Liste (ab 2008) anderer möglicher Projekte bei Collabnet gefunden: "Beste webbasierte Admin-Oberfläche für Subversion?"
Stefan Lasiewski

Antworten:


1

Späte Antwort, da ich neu bei Serverfault bin: Wir (Compsci-Abteilung der Universität) haben unser eigenes Self-Service-SVN-Webinterface entwickelt und es als Open Source verfügbar gemacht. Named Repocafe, verfügbar unter http://repocafe.cs.uu.nl/ . Modelliert nach unseren eigenen Anforderungen kann es mit einzelnen oder mehreren LDAP-Servern und Gastbenutzern umgehen. Vielleicht ein bisschen übertrieben für 'einfach'.


Dank dafür. Wir sind eine staatliche Forschungseinrichtung und arbeiten mit Mitarbeitern vieler Universitäten zusammen. Wir arbeiten manchmal mit mehreren LDAP-Servern usw.
Stefan Lasiewski

5

Am Ende haben wir uns für svnadmin (von Jochen Hoenicke) entschieden.

Dies hat gewonnen, weil es sich um eine einzelne, einfache Datei mit 400 Codezeilen handelte, die wir bei Bedarf selbst reparieren können. Leider gibt es keine Benutzergemeinschaft oder viele Empfehlungen. Aber die Einfachheit gewinnt. Frag mich in 6 Monaten, ob wir es empfehlen;)


1

Trac und Redmine sind die einzigen, von denen ich weiß, dass sie das gut machen. Beide zielen jedoch mehr auf das Projektmanagement als auf die einfache Repository-Verwaltung.


Danke Chris. Es gibt einige andere Projekte im Maßstab von Trac und Redmine, aber es wäre schwierig, nur die von uns gewünschte eingeschränkte Funktionalität zu extrahieren.
Stefan Lasiewski


1

Es gibt "User Friendly SVN" USVN . Ich denke, Sie werden feststellen, dass der größte Teil des Community-Aufwands für so etwas gering ist - SVN wird aktiv gewartet, aber die Admin-Tools sind ein Teil, der dies nicht tut. Sie werden in der Regel einmal geschrieben und funktionieren für immer, sodass diese GUI-Tools auch nicht geändert werden müssen. Machen Sie sich also keine Sorgen darüber, wie groß die Community in diesem Fall ist.


1

Ich werde meine eigene Frage für die Nachwelt beantworten.

Ich habe auch USVN gefunden , ein PHP-basiertes SVN-Administrationstool. Es hat mehrere Iterationen durchlaufen, hat eine Benutzergemeinschaft und eine glänzende, funktionsreiche Website.

Das USVN-Projekt sieht jedoch etwas abgestanden aus. USVN war ein Projekt, das von Studenten einer Universität durchgeführt wurde, und jetzt haben die Administratoren ihren Abschluss gemacht und sind auf Jobsuche gegangen und haben möglicherweise keine Zeit mehr, sich an dem Projekt zu beteiligen. Seit 9 Monaten gab es kein Update mehr, der Bug-Tracker sieht nicht aktiv aus und die Foren sind mit Spam gefüllt und sehen etwas unbeaufsichtigt aus . Vielleicht ist die Community weniger aktiv, als es zuerst erscheint. Das ist nicht alles schlecht und ich hoffe, dass es diesen Leuten gut geht, aber ich würde mir Sorgen machen, in ein abgestandenes Projekt einzusteigen.

Das Projekt verwendet 200 Dateien (ohne die 2000 Dateien von Zend), die für uns möglicherweise schwer zu prüfen und zu warten sind und möglicherweise komplexer sind, als wir suchen. Außerdem stützt sich dieses Projekt auf Zend, das unter politischen Problemen bei FreeBSD leidet .


1

Ein weiterer Vorschlag von der svn dev Mailingliste vom 09. Dezember, also ziemlich neu!

Bitte schauen Sie sich mein neues Open Source-Tool zum Verwalten von SVN-Berechtigungen an!

Das Verwalten von SVN-Rechten für mehrere Repos, die an mehreren Standorten gespiegelt werden, kann eine entmutigende Aufgabe sein. svnDashboard bietet eine einfache, webbasierte, AJAX-fähige grafische Benutzeroberfläche zum gleichzeitigen Verwalten mehrerer Repositorys und Benutzer.

http://sourceforge.net/projects/svndashboard/

Neu v1.1.3.140 - Enthält jetzt ein DB-Setup-Skript! Einige von Ihnen haben sich beschwert, dass dies fehlte, und das zu Recht! Es ist jetzt zusammen mit einer kurzen Readme-Datei enthalten.

In Kürze in Version 2 verfügbar: • Erweiterte UI-Funktionalität • Unterstützung für mehrere gespiegelte Speicherorte • Repository-Statistiken • Fehlermeldungen • Suche • und mehr!


Keine Updates seit 2009.
Reinierpost

1

Wir haben dies vor einem Jahr mit unserer neuen SVN-Distribution implementiert. Es hat wirklich gut geklappt.

Wir haben mehrere Entwicklungsteams und sie haben ihre eigenen Projekte. Also haben wir alle Informationen in LDAP gebracht und Teammanagern Schreibzugriff auf den Verzeichnisinformationsbaum (DIT) zur Subversion gewährt:

ou = Gruppen, ou = Subversion, ou = Apps, dc = Beispiel, dc = com ou = Repositorys, ou = Subversion, ou = Apps, dc = Beispiel, dc = com

Die oben genannte Organisationseinheit "Gruppen" besteht aus benutzerdefinierten Gruppen für Subversion-Repositorys / -Projekte. Außerdem verwenden wir 'viewvc' mit https, um Repositorys in svn anzuzeigen.

Der Apache-Server verwendet eine ACL-Datei, die auf Basis von LDAP DIT (siehe oben) erstellt wurde, um verschiedenen Benutzern und Gruppen Lese- und Schreibzugriff zu gewähren. Es gibt einen Cron, der alle fünf Minuten das LDAP-DIT liest und die ACL-Datei erstellt. Wenn also neue Repositorys mit schreibgeschützten und schreibgeschützten Benutzern / Gruppen hinzugefügt werden. Der Cron liest das und erstellt die Repositorys und nimmt diese Informationen in die ACL-Datei für das neu erstellte Repository auf. Es ist ziemlich ordentlich. Sie müssen offensichtlich ein LDAP-Schema erstellen, das auf Ihren Anforderungen basiert. Wir haben alle Benutzer- / Hostinformationen in LDAP, daher war es keine große Sache, sie um SVN-Informationen zu erweitern.

-F


Wir haben hier bereits eine große LDAP-Installation. Interessante Idee. Habe ich Recht, wenn ich verstehe, dass Sie ein SVN-Repo pro 'ou = Repositorys, ou = Subversion, ou = Apps, dc = Beispiel, dc = com' haben?
Stefan Lasiewski

Sie speichern nur den Namen des Repos oder Projekts in LDAP. Angenommen, ich habe ein neues Repo mit dem Namen 'myWebRepo' in LDAP, das wie folgt angezeigt wird: cn = myWebRepo, ou = Repositorys, ou = Subversion, dc-Beispiel, dc = com Der CRON führt tatsächlich ein Ruby-Skript aus (Sie hätten es schreiben können es in Perl oder sogar Bash). Ich habe es eigentlich zum Spaß in Ruby geschrieben. Das Ruby-Skript weiß, dass alle Repositorys in 'ou = Repositorys, dc ....' vorhanden sind. Es sammelt alle Namen des Repos und die Attribute, dh schreibgeschützte Benutzer usw. usw. Der Ruby prüft, ob das Repo bereits vorhanden ist. Wenn dies nicht der Fall ist, handelt es sich um einen neuen Mitarbeiter. Es erstellt es und aktualisiert die ACL-Datei.
Nikolas Sakic

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.