Web-frontend simple pour l'administration svn à distance? [fermé]


8

Nous exécutons un référentiel SVN. Certains de nos utilisateurs les plus avancés doivent être en mesure d'effectuer une administration SVN sans dépendre de l'administrateur système.

Ils doivent pouvoir faire des choses comme créer des référentiels SVN, supprimer des référentiels SVN, et exécuter des commandes comme 'svnadmin dump' et 'svnadmin load'.

Nous aimerions éviter l'accès SSH sur ces machines FreeBSD et préférerions fournir une interface de service via une interface utilisateur Web.

Je recherche un script simple (ou un petit nombre de scripts) qui utilise Perl ou PHP. J'ai trouvé svnadmin (de Jochen Hoenicke) ou svnadmin.pl (de doug munsinger), mais j'espérais trouver quelque chose avec une plus grande communauté d'utilisateurs ou qui a été recommandé par d'autres.

Il semble que Trac autorise l'administration de SVN, mais est livré avec plus de fonctionnalités que nécessaire.


D'après votre formulation, il semble que vous ayez rejeté svnadmin simplement parce que vous ne pensez pas qu'il dispose d'une base d'utilisateurs suffisamment importante. Suis-je en train de lire correctement? Plus important encore, cela correspond-il à vos besoins ou non? Le nombre d'autres utilisateurs ne devrait même pas être un facteur.
John Gardeniers

@John Gardeniers: Nous n'avons rejeté ni svnadmin ni svnadmin.pl. Cependant, si j'avais le choix entre un projet avec un auteur et un projet avec une communauté, je choisirai généralement ce dernier, tant que les deux projets correspondent à mes besoins. J'ai tendance à faire davantage confiance à un script soutenu par la communauté, car une communauté pourra souvent proposer des optimisations améliorées, des correctifs de sécurité, répondre à des questions, etc. Cela dit, nous allons probablement aller avec svnadmin, en raison de sa nature simple et c'est du code lisible. Pas qu'il y ait quelque chose de mal avec svnadmin.pl.
Stefan Lasiewski

J'ai également trouvé une liste (à partir de 2008) d'autres projets possibles chez Collabnet: "Meilleure interface d'administration Web pour Subversion?"
Stefan Lasiewski

Réponses:


1

Réponse tardive car je suis nouveau sur serverfault: nous (département universitaire compsci) avons développé notre propre interface web svn en libre-service et l'avons rendu disponible en open source. Nommé repocafe, disponible sur http://repocafe.cs.uu.nl/ . Modélisé selon nos propres besoins, il peut traiter des serveurs LDAP uniques ou multiples et des utilisateurs invités. Peut-être un peu exagéré pour «simple».


Merci pour ça. Nous sommes une institution de recherche gouvernementale et travaillons avec du personnel de nombreuses universités. Nous travaillons parfois avec plusieurs serveurs LDAP, etc.
Stefan Lasiewski

5

En fin de compte, nous avons choisi d'aller avec svnadmin (de Jochen Hoenicke).

Cela a gagné parce que c'était un fichier simple et simple avec 400 lignes de code, et c'est quelque chose que nous pourrions réparer nous-mêmes si nécessaire. Malheureusement, il n'a pas de communauté d'utilisateurs ou de nombreuses recommandations. Mais c'est la simplicité qui l'emporte. Demandez-moi dans 6 mois si nous le recommandons;)


1

Trac et Redmine sont les deux seuls que je connais qui le font bien; mais ils visent tous deux davantage la gestion de projet que l'administration simple du référentiel.


Merci Chris. Il y a quelques autres projets qui sont à l'échelle de Trac et Redmine, mais il serait difficile d'extraire uniquement les fonctionnalités limitées que nous voulons.
Stefan Lasiewski


1

Il y a USVN "User friendly svn" . Je pense que vous constaterez que la plupart des efforts de la communauté pour quelque chose comme ça sont petits - SVN est effectivement maintenu, mais les outils d'administration ne sont pas une partie. Ils ont tendance à être écrits une seule fois et fonctionnent pour toujours, donc ces outils GUI n'ont pas besoin de changer non plus. Donc, ne vous inquiétez pas trop de la taille de la communauté dans ce cas.


1

Je répondrai à ma propre question, pour la postérité.

J'ai également trouvé USVN , qui est un outil d'administration SVN basé sur PHP. Il a traversé plusieurs itérations, a une communauté d'utilisateurs et un site Web brillant et fonctionnel,

Cependant, le projet USVN semble un peu obsolète. USVN était un projet réalisé par des étudiants d'une université, et maintenant les administrateurs ont obtenu leur diplôme et ont continué à trouver un emploi, et peuvent ne plus avoir le temps de contribuer au projet. Il n'y a pas eu de mise à jour depuis 9 mois, le traqueur de bogues ne semble pas actif, et les forums sont remplis de spam et semblent un peu non entretenus , alors peut-être que la communauté est moins active qu'elle n'apparaît d'abord. Ce n'est pas mal du tout et j'espère que ces gens vont bien, mais je serais inquiet de me connecter à un projet obsolète.

Le projet utilise 200 fichiers (sans compter les 2000 fichiers de Zend), ce qui peut être difficile à auditer et à maintenir, et peut être plus complexe que ce que nous recherchons. De plus, ce projet s'appuie sur Zend, qui souffre de problèmes politiques sur FreeBSD .


1

Une autre suggestion de la liste de diffusion svn dev du 9 décembre, donc c'est assez récent!

Veuillez consulter mon nouvel outil open source pour gérer les autorisations SVN!

La gestion des droits SVN pour plusieurs référentiels en miroir à plusieurs emplacements peut être une tâche ardue. svnDashboard fournit une interface utilisateur graphique simple, basée sur le Web et compatible AJAX pour gérer plusieurs référentiels et utilisateurs à la fois.

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

Nouveau v1.1.3.140 - Comprend maintenant un script de configuration DB! Certains d'entre vous se sont plaints que cela manquait, et à juste titre! Il est maintenant inclus, ainsi qu'un bref fichier Lisez-moi.

Bientôt dans la version 2: • Fonctionnalité améliorée de l'interface utilisateur • Prise en charge de plusieurs emplacements en miroir • Statistiques du référentiel • Messages d'erreur • Recherche • et plus encore!


Aucune mise à jour depuis 2009.
reinierpost

1

Nous l'avons implémenté avec notre nouvelle distribution svn il y a un an. Cela a très bien fonctionné.

Nous avons plusieurs équipes de développement et leurs propres projets. Nous avons donc introduit toutes les informations dans LDAP et nous avons accordé aux chefs d'équipe un accès en écriture à l'arbre d'informations d'annuaire (DIT) pour la subversion:

ou = groupes, ou = subversion, ou = apps, dc = exemple, dc = com ou = référentiels, ou = subversion, ou = apps, dc = exemple, dc = com

L'unité organisationnelle «groupes» ci-dessus est constituée de groupes personnalisés pour les référentiels / projets Subversion. De plus, nous utilisons 'viewvc' avec https pour afficher les référentiels dans svn.

Le serveur apache utilise un fichier ACL créé sur la base de LDAP DIT (indiqué ci-dessus) pour donner un accès en lecture-écriture à différents utilisateurs et groupes. Un cron lit le LDAP DIT toutes les cinq minutes et crée le fichier ACL. Donc, s'il y a de nouveaux référentiels ajoutés avec des utilisateurs / groupes en lecture seule et en lecture-écriture. Le cron lira cela et créera les référentiels, et incorporera ces informations dans le fichier ACL pour le référentiel nouvellement créé. C'est assez soigné. Vous devez évidemment créer un schéma LDAP en fonction de vos besoins. Nous avons toutes les informations sur les utilisateurs / hôtes dans LDAP, donc ce n'était pas grave de l'étendre pour inclure des informations svn.

-F


Il se trouve que nous avons déjà une grande installation LDAP ici. Idée intéressante. Ai-je raison de comprendre que vous avez un référentiel SVN par 'ou = référentiels, ou = subversion, ou = apps, dc = exemple, dc = com'?
Stefan Lasiewski

Vous stockez uniquement le nom du référentiel ou du projet dans LDAP. Disons, j'ai un nouveau dépôt appelé 'myWebRepo', dans LDAP qui s'afficherait comme: cn = myWebRepo, ou = repositories, ou = subversion, dc-example, dc = com Le CRON exécute en fait un script ruby ​​(vous auriez pu écrire en Perl ou même Bash). Je l'ai écrit dans Ruby pour le plaisir en fait. Le script ruby ​​sait que tous les référentiels existent dans 'ou = référentiels, dc ....'. Il rassemble tous les noms du référentiel et les attributs, c'est-à-dire les utilisateurs en lecture seule, etc. Le ruby ​​vérifie si le référentiel existe déjà. Si ce n'est pas le cas, cela signifie que c'est un nouveau représentant. Il le crée et met à jour le fichier ACL.
Nikolas Sakic

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.