Простой веб-интерфейс для удаленного администрирования SVN? [закрыто]


8

Мы запускаем SVN-репозиторий. Некоторые из наших более опытных пользователей должны иметь возможность выполнять администрирование SVN, не полагаясь на системного администратора.

Они должны уметь создавать SVN-репозитории, удалять SVN-репозитории и выполнять такие команды, как 'svnadmin dump' и 'svnadmin load'.

Мы хотели бы избежать SSH-доступа на этих машинах FreeBSD и предпочли бы предоставлять интерфейс службы через веб-интерфейс.

Я ищу простой скрипт (или небольшое количество скриптов), которые используют Perl или PHP. Я нашел svnadmin (от Jochen Hoenicke) или svnadmin.pl (от doug munsinger), но надеялся найти что-то с большим сообществом пользователей или то, что было рекомендовано другими.

Похоже, что Trac позволяет администрировать SVN, но может иметь больше возможностей, чем нам нужно.


Из вашей формулировки видно, что вы отклонили svnadmin просто потому, что не думаете, что у него достаточно большая база пользователей. Я правильно читаю? Что еще более важно, это соответствует вашим потребностям или нет? Сколько других используют это, не должно быть фактором.
Джон Гарденье

@John Gardeniers: мы не отвергали svnadmin или svnadmin.pl. Однако, если у меня был выбор между проектом с одним автором и проектом с сообществом, я обычно выбираю последний, если оба проекта соответствуют моим потребностям. Я склонен больше доверять сценарию, поддерживаемому сообществом, потому что сообщество часто сможет предлагать улучшенные оптимизации, исправления безопасности, отвечать на вопросы и т. Д. Тем не менее, мы, вероятно, собираемся использовать svnadmin из-за его простой природы и это читаемый код. Не то чтобы с svnadmin.pl что-то не так.
Стефан Ласевский

Я также нашел список (с 2008 года) других возможных проектов в Collabnet: «Лучший веб-интерфейс администратора для Subversion?»
Стефан Ласевский

Ответы:


1

Поздний ответ, так как я новичок в serverfault: мы (университетский факультет компьютерных технологий) разработали наш собственный веб-интерфейс svn для самообслуживания и сделали его доступным с открытым исходным кодом. Именное repocafe, доступно по адресу http://repocafe.cs.uu.nl/ . Смоделированный для наших собственных нужд, он может работать с одним или несколькими серверами ldap и гостевыми пользователями. Может быть, немного излишним для «простого».


Спасибо за это. Мы являемся государственным исследовательским учреждением и работаем с сотрудниками многих университетов. Иногда мы работаем с несколькими серверами LDAP и т. Д.
Стефан Ласевски,

5

В итоге мы решили пойти со свнадмином (от Йохена Хенике).

Это победило, потому что это был один простой файл с 400 строками кода, и это то, что мы могли бы исправить сами при необходимости. К сожалению, у него нет сообщества пользователей или рекомендаций. Но это простота выигрывает. Спросите меня через 6 месяцев, если мы рекомендуем это;)


1

Trac и Redmine - единственные, кого я знаю, которые делают это хорошо; но оба они нацелены больше на управление проектами, чем на простое администрирование хранилища.


Спасибо, Крис. Есть пара других проектов, которые находятся в масштабе Trac и Redmine, но было бы трудно извлечь только ограниченную функциональность, которую мы хотим.
Стефан Ласевский

1

Есть модуль Usermin для Subversion, но я не уверен, что он позволит вам делать то, что вам нужно.


Мы не используем Webmin или Usermin, но спасибо. Для справки, похоже, что следующий модуль может сделать это: Модуль Virtualmin SubVersion Repositories 4.0 под webmin.com/cgi-bin/search_third.cgi?cat=Virtualmin
Стефан Ласевский

1

Есть "Удобный для пользователя svn" USVN . Я думаю, вы обнаружите, что большая часть усилий сообщества для чего-то подобного невелика - SVN поддерживается в актуальном состоянии, но инструменты администрирования - это одна из частей, которая этого не делает. Они, как правило, пишутся один раз и работают вечно, поэтому эти инструменты с графическим интерфейсом не нужно менять. Так что - не беспокойтесь о том, насколько велико сообщество в этом случае.


1

Я отвечу на свой вопрос для потомков.

Я также нашел USVN , который является инструментом администрирования SVN на основе PHP. Он прошел несколько итераций, имеет сообщество пользователей и блестящий полнофункциональный веб-сайт,

Тем не менее, проект USVN выглядит немного устаревшим. USVN был проектом, выполненным студентами в университете, и теперь администраторы закончили обучение и ушли на поиски работы, и, возможно, у них больше не будет времени вносить свой вклад в проект. За 9 месяцев не было обновлений, средство отслеживания ошибок не выглядит активным, а форумы заполнены спамом и выглядят немного неконтролируемыми , поэтому, возможно, сообщество менее активно, чем кажется на первый взгляд . Это не так уж и плохо, и я надеюсь, что эти люди преуспеют, но я бы побеспокоился о подключении к устаревшему проекту.

В проекте используется 200 файлов (не считая файлов 2000 от Zend), что может быть трудно для нас, чтобы проверить и поддерживать, и может быть более сложным, чем мы ищем. Кроме того, этот проект опирается на Zend, который страдает от политических проблем во FreeBSD .


1

Еще одно предложение из списка рассылки svn dev от 09 декабря, так что это совсем недавно!

Пожалуйста, проверьте мой новый инструмент с открытым исходным кодом для управления разрешениями SVN!

Управление правами SVN для нескольких репозиториев, отраженных в нескольких местах, может быть сложной задачей. svnDashboard предоставляет простой графический веб-интерфейс с поддержкой AJAX для управления несколькими хранилищами и пользователями одновременно.

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

Новый v1.1.3.140 - теперь включает в себя скрипт установки БД! Некоторые из вас жаловались, что этого не было, и это справедливо! Теперь он включен вместе с кратким файлом readme.

Скоро в версии 2: • Расширенные функциональные возможности пользовательского интерфейса • Поддержка нескольких зеркальных расположений • Статистика репозитория • Сообщения об ошибках • Поиск • и многое другое!


Нет обновлений с 2009 года.
reinierpost

1

Мы реализовали это с нашим новым svn-дистрибутивом год назад. Это сработало очень хорошо.

У нас есть несколько команд разработчиков, и они свои проекты. Итак, мы перенесли всю информацию в LDAP и предоставили менеджерам команд доступ на запись в дерево информации каталога (DIT) для подрывной деятельности:

ou = groups, ou = subversion, ou = apps, dc = пример, dc = com ou = репозитории, ou = subversion, ou = apps, dc = пример, dc = com

Вышеуказанная организационная единица «группы» - это настраиваемые группы для хранилищ / проектов Subversion. Также мы используем 'viewvc' с https для просмотра репозиториев в SVN.

Сервер apache использует файл ACL, созданный на основе LDAP DIT (см. Выше), чтобы предоставить доступ для чтения и записи различным пользователям и группам. Существует cron, который читает LDAP DIT каждые пять минут и создает файл ACL. Таким образом, если есть новые репозитории, добавленные только для чтения и чтения / записи пользователей / группы. Хрон прочитает это и создаст репозитории, и включит эту информацию в файл ACL для вновь созданного репозитория. Это довольно опрятно. Вам необходимо создать схему LDAP на основе ваших требований, очевидно. У нас есть вся информация о пользователях и хостах в LDAP, поэтому было не сложно добавить ее в svn info.

-F


У нас здесь уже есть большая установка LDAP. Интересная идея. Правильно ли я понимаю, что у вас есть один репозиторий SVN для каждого 'ou = репозитории, ou = subversion, ou = apps, dc = example, dc = com'?
Стефан Ласевски

Вы храните только имя репо или проекта в LDAP. Скажем, у меня есть новый репозиторий под названием «myWebRepo» в LDAP, который будет отображаться как: cn = myWebRepo, ou = репозитории, ou = subversion, dc-example, dc = com. На самом деле CRON запускает скрипт ruby ​​(вы могли написать это в Perl или даже в Bash). Я написал это на Ruby для развлечения. Сценарий ruby ​​знает, что все репозитории существуют в 'ou = repositories, dc ....'. Он собирает все имена репо и атрибутов, т. Е. Только для чтения, пользователей и т. Д. Рубин проверяет, существует ли репо. Если это не так, значит, это новый представитель. Он создает его и обновляет файл ACL.
Николас Сакич

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.