Web-frontend semplice per l'amministrazione remota di svn? [chiuso]


8

Eseguiamo un repository SVN. Alcuni dei nostri utenti più avanzati devono essere in grado di eseguire un po 'di amministrazione SVN senza affidarsi all'amministratore di sistema.

Devono essere in grado di fare cose come creare repository SVN, eliminare repository SVN ed eseguire comandi come 'svnadmin dump' e 'svnadmin load'.

Vorremmo evitare l'accesso SSH su queste macchine FreeBSD e preferiremmo fornire un'interfaccia di servizio tramite un'interfaccia utente Web.

Sto cercando uno script semplice (o un numero limitato di script) che utilizza Perl o PHP. Ho trovato svnadmin (da Jochen Hoenicke) o svnadmin.pl (da doug munsinger), ma speravo di trovare qualcosa con una comunità di utenti più ampia o che è stata raccomandata da altri.

Sembra che Trac consenta l'amministrazione di SVN, ma include più funzionalità di quelle di cui abbiamo bisogno.


Dalla tua formulazione sembra che hai rifiutato svnadmin semplicemente perché non pensi che abbia una base di utenti abbastanza grande. Lo sto leggendo correttamente? Ancora più importante, si adatta alle tue esigenze o no? Quanti altri lo usano non dovrebbe nemmeno essere un fattore.
John Gardeniers,

@John Gardeniers: non abbiamo rifiutato svnadmin o svnadmin.pl. Tuttavia, se potessi scegliere tra un progetto con un autore e un progetto con una comunità, di solito sceglierò quest'ultimo, a condizione che entrambi i progetti soddisfino le mie esigenze. Tendo a fidarmi di più di uno script sostenuto dalla comunità, perché una comunità sarà spesso in grado di proporre ottimizzazioni migliorate, correzioni di sicurezza, rispondere a domande, ecc. Detto questo, probabilmente andremo con svnadmin, a causa della sua natura semplice ed è un codice leggibile. Non che ci sia qualcosa di sbagliato in svnadmin.pl.
Stefan Lasiewski,

Ho anche trovato un elenco (dal 2008) di altri possibili progetti su Collabnet: "La migliore interfaccia di amministrazione basata sul Web per Subversion?"
Stefan Lasiewski,

Risposte:


1

Risposta tardiva perché sono nuovo di serverfault: noi (dipartimento compsci dell'università) abbiamo sviluppato la nostra interfaccia web svn self-service e l'abbiamo resa disponibile come open source. Repocafe denominato, disponibile su http://repocafe.cs.uu.nl/ . Modellato sulle nostre esigenze, può gestire server ldap singoli o multipli e utenti guest. Forse un po 'eccessivo per "semplice".


Grazie per quello Siamo un istituto di ricerca governativo e lavoriamo con il personale di molte università. A volte lavoriamo con più server LDAP, ecc.
Stefan Lasiewski,

5

Alla fine, abbiamo scelto di andare con svnadmin (da Jochen Hoenicke).

Questo ha vinto perché era un singolo file semplice con 400 righe di codice ed è qualcosa che potremmo risolvere da soli se necessario. Purtroppo non ha una community di utenti o molti consigli. Ma la semplicità vince. Chiedimi tra 6 mesi se lo consigliamo;)


1

Trac e Redmine sono gli unici due che conosco che lo fanno bene; ma sono entrambi rivolti più alla gestione del progetto che alla semplice amministrazione del repository.


Grazie Chris. Ci sono un paio di altri progetti che sono sulla scala di Trac e Redmine, ma sarebbe difficile estrarre solo le funzionalità limitate che vogliamo.
Stefan Lasiewski,


1

C'è "User friendly svn" USVN . Penso che scoprirai che la maggior parte dello sforzo della comunità per qualcosa di simile è piccolo - SVN è gestito in modo efficace, ma gli strumenti di amministrazione sono una parte che non lo fanno. Tendono a essere scritti una volta e funzionano per sempre, quindi questi strumenti della GUI non devono cambiare neanche. Quindi, non preoccuparti troppo della dimensione della community in questo caso.


1

Risponderò alla mia domanda, per i posteri.

Ho anche trovato USVN , che è uno strumento di amministrazione SVN basato su PHP. Ha attraversato diverse iterazioni, ha una community di utenti e un sito Web brillante e ricco di funzionalità,

Tuttavia, il progetto USVN sembra un po 'stantio. USVN era un progetto realizzato da studenti di un'università e ora gli amministratori si sono laureati e hanno continuato a cercare lavoro e potrebbero non avere più il tempo di contribuire al progetto. Non c'è stato un aggiornamento da 9 mesi, il tracker dei bug non sembra attivo e i forum sono pieni di spam e sembrano un po ' non mantenuti , quindi forse la community è meno attiva di quanto appaia per la prima volta. Non è affatto male e spero che queste persone facciano bene, ma sarei preoccupato di collegarmi a un progetto stantio.

Il progetto utilizza 200 file (senza contare i 2000 file di Zend), che potrebbero essere difficili da controllare e mantenere e potrebbero essere più complessi di quelli che stiamo cercando. Inoltre, questo progetto si basa su Zend, che soffre di problemi politici su FreeBSD .


1

Un altro suggerimento dalla mailing list svn dev del 09 dic, quindi è abbastanza recente!

Dai un'occhiata al mio nuovo strumento open source per la gestione delle autorizzazioni SVN!

La gestione dei diritti SVN per più repository speculari in più posizioni può essere un'attività scoraggiante. svnDashboard fornisce un'interfaccia utente grafica semplice, basata sul Web e abilitata per AJAX per la gestione di più repository e utenti contemporaneamente.

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

Nuova v1.1.3.140 - Ora include uno script di configurazione del DB! Alcuni di voi si sono lamentati della mancanza di questo, e giustamente! Ora è incluso, insieme a un breve file Leggimi.

Prossimamente nella versione 2: • Funzionalità dell'interfaccia utente migliorata • Supporto per più posizioni con mirroring • Statistiche del repository • Messaggi di errore • Cerca • e altro!


Nessun aggiornamento dal 2009.
reinierpost,

1

Lo abbiamo implementato con la nostra nuova distribuzione svn un anno fa. Ha funzionato davvero bene.

Abbiamo più team di sviluppo e loro propri progetti. Quindi, abbiamo portato tutte le informazioni in LDAP e abbiamo concesso ai responsabili del team l'accesso in scrittura all'albero delle informazioni di directory (DIT) per la sovversione:

ou = gruppi, ou = sovversione, ou = app, dc = esempio, dc = com ou = repository, ou = sovversione, ou = apps, dc = esempio, dc = com

L'unità organizzativa "gruppi" sopra è costituita da gruppi personalizzati per repository / progetti di sovversione. Inoltre, usiamo 'viewvc' con https per visualizzare i repository in svn.

Il server apache utilizza il file ACL creato in base al DIT LDAP (indicato sopra) per fornire accesso in lettura e scrittura a utenti e gruppi diversi. Esiste un cron che legge il DIT LDAP ogni cinque minuti e crea il file ACL. Quindi, se sono stati aggiunti nuovi repository con utenti / gruppo di sola lettura e di lettura-scrittura. Il cron leggerà ciò e creerà i repository e incorporerà tali informazioni nel file ACL per il repository appena creato. È abbastanza pulito. È necessario creare uno schema LDAP in base alle proprie esigenze ovviamente. Abbiamo tutte le informazioni degli utenti / host in LDAP, quindi non è stato un grosso problema estenderle per includere le informazioni svn.

-F


Ci capita già di avere una grande installazione LDAP qui. Idea interessante. Ho ragione nel capire che hai un repository SVN per 'ou = repository, ou = subversion, ou = apps, dc = example, dc = com'?
Stefan Lasiewski,

Memorizzi solo il nome del repository o del progetto in LDAP. Ad esempio, ho un nuovo repository chiamato 'myWebRepo', in LDAP che mostrerebbe come: cn = myWebRepo, ou = repository, ou = subversion, dc-example, dc = com Il CRON esegue effettivamente uno script ruby ​​(avresti potuto scrivere in Perl o anche in Bash). L'ho scritto in Ruby per divertimento in realtà. Lo script ruby ​​sa che tutti i repository esistono in "ou = repository, dc ....". Raccoglie tutti i nomi del repository e gli attributi, ovvero utenti di sola lettura ecc. Ecc. Il ruby ​​verifica se il repository esiste già. In caso contrario, significa che è un nuovo rappresentante. Lo crea e aggiorna il file ACL.
Nikolas Sakic,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.