Репозиторий Subversion на Linux Dev

Как лучше всего настроить репозиторий Subversion на машине разработки под Linux? Внешние пользователи должны иметь доступ к определенному репозиторию, но ни к чему другому на машине. Я знаю, что один ответ - создать выделенный репозиторий, но я ищу решение для одной машины: расположение репозиториев, учетные записи, процедуры резервного копирования.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
1 934
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Один из популярных методов доступа к Subversion - через модуль Apache. Вы можете установить разные права на уровне каталога для управления доступом. См. Выбор конфигурации сервера и httpd, HTTP-сервер Apache. Для аутентификации я рекомендую использовать внешний источник аутентификации, например Microsoft AD через mod_auth_sspi.

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

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

Как бы то ни было, настроить репозиторий с помощью автономного демона svn очень просто. Раздражает управление правами пользователей.

Ответ принят как подходящий

Я работаю в компании по автоматизации ИТ-инфраструктуры; мы делаем это все время.

Расположение репозитория: мы используем "/ srv / svn" по умолчанию для хранения всех репозиториев SVN, если у клиента нет особых требований, например, существующий репозиторий может храниться в общей файловой системе ReadyNAS.

Учетные записи: Все наши клиенты используют LDAP. Либо сервер OpenLDAP, работающий на главном хосте, но иногда и Active Directory, потому что у некоторых клиентов есть домен Windows в своем офисе, который мы также можем настроить. Разработчики получают доступ к группе «SCM» (обычно svn, git или devel) и группе «deploy». У этих групп есть разрешения только на вход в систему и выполнение действий, связанных с SCM (т. Е. Коммиты записи в репозиторий на основе принадлежности группы), или на развертывание приложений в производственной среде.

Процедуры резервного копирования: мы используем горячую копию svnadmin, если у клиента уже есть что-то на месте (обычно дамп svnadmin, хех).

svnadmin hotcopy /srv/svn /srv/svn_backups/$(date +%Y%m%d)

Для доступа к репо обычно используется простой svn + ssh. У некоторых клиентов уже есть установка Apache, но не у многих. Я рекомендую SSH. Разработчики выдвигают свои общедоступные ssh-ключи, и все в порядке. Управление пользователями LDAP практически не требует обслуживания (вариант Только).

У меня есть публикация в блоге, в котором описаны шаги, необходимые для настройки и запуска сервера Subversion на базе Linux для поддержки репозиториев кода и т. д.

В основном шаги следующие:

  1. Скачать - архив Subversion.
  2. Разархивируйте и установите Subversion.
  3. Решите любые проблемы с установкой, возникающие при запуске ./configure, если таковые имеются.
  4. Создайте репозиторий Subversion с помощью svnadmin create.
  5. Отредактируйте файл конфигурации репозитория с помощью любого текстового редактора.
  6. То же самое с файлом паролей.
  7. Импортируйте свой код, проекты и т. д. В репозиторий с помощью svn import.
  8. Запустите сервер как демон, например svnserve -d. Также возможно сделать это автоматически при перезагрузке.
  9. Начните использовать его, используя стандартные команды Subversion, например, для проверки, регистрации, резервного копирования и т. д.

Другие вопросы по теме