Interfaz web simple para la administración remota de svn? [cerrado]

8

Ejecutamos un repositorio SVN. Algunos de nuestros usuarios más avanzados necesitan poder realizar alguna administración de SVN sin depender del administrador del sistema.

Deben ser capaces de hacer cosas como crear repositorios SVN, eliminar repositorios SVN, y ejecutar comandos como 'svnadmin dump' y 'svnadmin load'.

Nos gustaría evitar el acceso SSH en estas máquinas FreeBSD, y preferimos proporcionar una interfaz de servicio a través de una interfaz de usuario web.

Estoy buscando un script simple (o un pequeño número de scripts) que usan Perl o PHP. Encontré svnadmin (De Jochen Hoenicke) o svnadmin.pl (De doug munsinger), pero esperaba encontrar algo con una comunidad de usuarios más grande o que me hayan recomendado otros.

Parece que Trac permite la administración de SVN, pero viene con muchas más funciones de las que necesitamos.

Stefan Lasiewski
fuente
Según su redacción, parece que ha rechazado svnadmin simplemente porque no cree que tenga una base de usuarios lo suficientemente grande. ¿Estoy leyendo eso correctamente? Más importante aún, ¿se ajusta a sus necesidades o no? Cuántos otros lo usan, ni siquiera debería ser un factor.
John Gardeniers
@John Gardeniers: No rechazamos svnadmin o svnadmin.pl. Sin embargo, si tuviera que elegir entre un proyecto con un autor y un proyecto con una comunidad, generalmente elegiría el último, siempre que ambos proyectos se ajusten a mis necesidades. Tiendo a confiar más en un script respaldado por la comunidad, porque una comunidad a menudo podrá presentar optimizaciones mejoradas, soluciones de seguridad, responder preguntas, etc. Dicho esto, probablemente iremos con svnadmin, debido a su naturaleza simple y es código legible. No es que haya algo malo con svnadmin.pl.
Stefan Lasiewski
También encontré una lista (desde 2008) de otros posibles proyectos en Collabnet: "¿La mejor interfaz de administración basada en web para Subversion?"
Stefan Lasiewski

Respuestas:

1

Respuesta tardía ya que soy nuevo en serverfault: nosotros (departamento de compsci de la universidad) desarrollamos nuestra propia interfaz web de autoservicio svn y la pusimos a disposición como código abierto. Nombrado repocafe, disponible en http://repocafe.cs.uu.nl/ . Modelado según nuestras propias necesidades, puede manejar servidores ldap únicos o múltiples y usuarios invitados. Tal vez un poco exagerado para 'simple'.

Koos van den Hout
fuente
Gracias por eso. Somos una institución gubernamental de investigación y trabajamos con personal de muchas universidades. A veces trabajamos con varios servidores LDAP, etc.
Stefan Lasiewski
5

Al final, elegimos ir con svnadmin (De Jochen Hoenicke).

Esto ganó porque era un archivo simple y simple con 400 líneas de código, y es algo que podríamos solucionar si fuera necesario. Lamentablemente no tiene una comunidad de usuarios o muchas recomendaciones. Pero su simplicidad gana. Pregúntame en 6 meses si lo recomendamos;)

Stefan Lasiewski
fuente
1

Trac y Redmine son los únicos dos que conozco que hacen esto bien; pero ambos apuntan más a la gestión de proyectos que a la simple administración de repositorios.

Chris S
fuente
Gracias Chris Hay un par de otros proyectos que están en la escala de Trac y Redmine, pero sería difícil extraer solo la funcionalidad limitada que queremos.
Stefan Lasiewski
1

Hay un módulo Usermin para Subversion, pero no estoy seguro de que le permita hacer lo que necesita.

alex
fuente
No usamos Webmin o Usermin, pero gracias. Para el registro, parece que el siguiente módulo podría hacer esto: Módulo 'Virtualmin SubVersion Repositories 4.0' en webmin.com/cgi-bin/search_third.cgi?cat=Virtualmin
Stefan Lasiewski
1

Hay "User friendly svn" USVN . Creo que encontrará que la mayor parte del esfuerzo de la comunidad para algo como esto es pequeño: SVN se mantiene de manera activa, pero las herramientas de administración son una parte que no. Tienden a escribirse una vez y funcionan para siempre, por lo que estas herramientas GUI tampoco necesitan cambiar. Entonces, no se preocupe demasiado por el tamaño de la comunidad en este caso.

gbjbaanb
fuente
1

Contestaré mi propia pregunta, para la posteridad.

También encontré USVN , que es una herramienta de administración SVN basada en PHP. Ha pasado por varias iteraciones, tiene una comunidad de usuarios y un sitio web brillante y lleno de funciones,

Sin embargo, el proyecto USVN parece un poco rancio. USVN fue un proyecto realizado por estudiantes de una universidad, y ahora los administradores se graduaron y buscaron trabajo, y es posible que ya no tengan tiempo para contribuir al proyecto. No ha habido una actualización en 9 meses, el rastreador de errores no parece activo, y los foros están llenos de spam y se ven un poco sin mantenimiento , por lo que tal vez la comunidad esté menos activa de lo que parece. Esto no es del todo malo y espero que a estas personas les vaya bien, pero me preocuparía engancharme a un proyecto obsoleto.

El proyecto utiliza 200 archivos (sin contar los 2000 archivos de Zend), lo que puede ser difícil de auditar y mantener, y puede ser más complejo de lo que estamos buscando. Además, este proyecto se basa en Zend, que sufre problemas políticos en FreeBSD .

Stefan Lasiewski
fuente
1

Otra sugerencia de la lista de correo svn dev del 09 de diciembre, ¡así que es bastante reciente!

¡Consulte mi nueva herramienta de código abierto para administrar los permisos SVN!

Administrar los derechos SVN para múltiples repos duplicados en múltiples ubicaciones puede ser una tarea desalentadora. svnDashboard proporciona una interfaz gráfica de usuario simple, basada en web y habilitada para AJAX para administrar varios repositorios y usuarios a la vez.

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

Nueva v1.1.3.140: ¡ahora incluye un script de configuración de base de datos! Algunos de ustedes se quejaron de que esto faltaba, ¡y con razón! Ahora está incluido, junto con un breve archivo Léame.

Próximamente en la versión 2: • Funcionalidad de IU mejorada • Soporte para múltiples ubicaciones duplicadas • Estadísticas de repositorio • Mensajes de error • Búsqueda • ¡y más!

gbjbaanb
fuente
No hay actualizaciones desde 2009.
reinierpost
1

Hemos implementado esto con nuestra nueva distribución svn hace un año. Ha funcionado muy bien.

Tenemos múltiples equipos de desarrollo y sus propios proyectos. Entonces, trajimos toda la información a LDAP y le otorgamos a los gerentes de equipo acceso de escritura al árbol de información de directorio (DIT) para la subversión:

ou = grupos, ou = subversión, ou = aplicaciones, dc = ejemplo, dc = com ou = repositorios, ou = subversión, ou = aplicaciones, dc = ejemplo, dc = com

La unidad organizativa 'grupos' anterior es grupos personalizados para repositorios / proyectos de subversión. Además, utilizamos 'viewvc' con https para ver repositorios en svn.

El servidor apache usa un archivo ACL creado en base a DIT LDAP (dado anteriormente) para dar acceso de lectura y escritura a diferentes usuarios y grupos. Hay un cron que lee el DIT LDAP cada cinco minutos y crea el archivo ACL. Entonces, si hay nuevos repositorios agregados con usuarios / grupos de solo lectura y lectura-escritura. El cron leerá eso y creará los repositorios, e incorporará esa información en el archivo ACL para el repositorio recién creado. Es bastante ordenado. Obviamente, debe crear un esquema LDAP basado en sus requisitos. Tenemos toda la información de usuarios / hosts en LDAP, por lo que no fue un gran problema extenderla para incluir información de svn.

-F

Nikolas Sakic
fuente
Tenemos una gran instalación de LDAP aquí ya. Idea interesante. ¿Estoy en lo cierto al entender que tiene un repositorio SVN por 'ou = repositorios, ou = subversión, ou = aplicaciones, dc = ejemplo, dc = com'?
Stefan Lasiewski
Solo almacena el nombre del repositorio o proyecto en LDAP. Digamos, tengo un nuevo repositorio llamado 'myWebRepo', en LDAP que se mostraría como: cn = myWebRepo, ou = repositorios, ou = subversión, dc-example, dc = com El CRON realmente ejecuta un script ruby ​​(podría haber escrito en Perl o incluso Bash). Lo escribí en Ruby por diversión en realidad. El script ruby ​​sabe que todos los repositorios existen en 'ou = repositorios, dc ....'. Reúne todos los nombres del repositorio y los atributos, es decir, usuarios de solo lectura, etc. El ruby ​​comprueba si el repositorio ya existe. Si no es así, significa que es un nuevo representante. Lo crea y actualiza el archivo ACL.
Nikolas Sakic
0

Parece que las cosas han cambiado horas extras. Aquí hay otro script que creo que parece ser una buena opción para la administración de svn: http://www.svn-access-manager.org/

happyhardik
fuente