Размещая несколько репозиториев (svn, hg, мерзавец)

Как womble's, уже сказанный, да и нет.

Рассматриваемый вопрос: у нас есть несколько основные (для вида об этом) сайты электронной коммерции, все созданные путем стука квадратного штепселя, который является WordPress в круглую дыру наших бизнес-требований. Мы захватываем копию содержания/srv/www и / и т.д. плюс дамп MySQL DB, и все хорошо и хорошо (и да, я выполнил тестовое восстановление!)

С другой стороны, наш основной сайт работает на шести серверах (3 сети, 2 дБ и один издатель/подсистема балансировки нагрузки). Все, в чем мы нуждаемся в целях резервирования, тем не менее, является кодом/файлами веб-сайта (все в SVN, сохраненном с нашего dev сервера) и дамп от одного из серверов БД (они оба идентичны; партнеры по репликации, чтобы дать нам некоторое дублирование).

Ни один из этих методов не является немного более правильным, чем другой, я просто высказываю мнение, что необходимо только скопировать то, что Вы должны; резервное место для основного сайта составляет приблизительно 4 ГБ, в то время как резервное копирование всех включенных серверов взяло бы нас до нескольких сотен ГБ. Мы можем также восстановить быстрее путем развертывания новых серверов и засовывания данных/файлов назад по ним, чем мы могли путем восстановления шести ценности серверов данных.

8
задан 19 December 2011 в 15:11
5 ответов

Я только использую Мерзавца, таким образом, я wil пытаюсь, по крайней мере, помочь Вам с этим:

Если Вы не видите, что любая проблема управлять Вашим repos через командную строку, gitosis должен добиться цели довольно приятно.

При реальной необходимости в веб-интерфейсе Вы могли бы смотреть на repo.or.cz (http://repo.or.cz/w/girocco.git) или gitorious (http://gitorious.org/gitorious). Repo.or.cz более ужасен, но это - путь, легче устанавливать (gitorious, открытый исходный код, но это - также программное обеспечение, приводящее в действие gitorious.org - у них нет большого количества стимула записать хорошие инструкции),

Вот более всесторонний список опций: https://git.wiki.kernel.org/index.php/GitHosting

Любая из тех опций даст Вам легкое создание новых репозиториев.

Теперь, одно предостережение: Вы никогда не должны, использовать список пользователей сервера Unix для полномочий репозитория. Достаточно легко смешать с, и результаты являются легко катастрофическими (gitosis, использует простую конфигурацию файла и ssh ключи. Должен добиться цели для Вас).

Другая вещь, я не вижу, почему у Вас должны быть подверсия, HG и репозитории Мерзавца. Большинство проектов использует только одну из тех опций. Хотеть уточнить почему?

6
ответ дан 2 December 2019 в 22:59

SVN может быть сделан с WebDAV Apache, в vhost, с помощью аутентификации UNIX и собственного уровня пользователя подверсии ACLs. Я ничего не знаю о подвижном или мерзавце, но я надеялся бы, что они могли быть сцеплены в DAV также.

2
ответ дан 2 December 2019 в 22:59

Если вы хотите использовать SSH , то вам нужно ограничить ключи, отредактировав файл authorized_keys на сервере. Для Mercurial, основные способы сделать это:

  • Вы можете использовать сценарий contrib / hg-ssh , чтобы ограничить команды, которые люди могут выполнять при входе в систему с помощью SSH. Файл содержит заголовок, объясняющий, как его использовать, но в основном вы добавляете

     $ command = "hg-ssh path / to / repo"
    

    перед ключом в файле authorized_keys . Это ограничивает ключ так, что его можно использовать только для отправки и извлечения в указанный репозиторий.

  • Вы также можете использовать сторонний инструмент mercurial-server , если вам нужно что-то вроде gitois . Это позволяет вам управлять пользователями и их правами доступа, редактируя файлы в специальном репозитории администратора.

См. Mercurial wiki для некоторых других подобных инструментов для SSH.

Для HTTP , есть

  • Встроенный hgweb (Fast) CGI или сценарий WSGI, который поставляется с Mercurial. Это обрабатывает push и pull, но не позволяет создавать новые репозитории - для этого войдите на сервер.

  • Сторонний проект RhodeCode . Это дает вам веб-интерфейс для Mercurial, подобный Bitbucket, где вы можете настраивать пользователей и их права доступа. Он поддерживает аутентификацию LDAP, поэтому вы можете подключить его к существующей базе данных пользователей Unix.

См. Страницу о публикации репозиториев для получения дополнительной информации.

1
ответ дан 2 December 2019 в 22:59

SCM-Manager может идеально подойти для ваших нужд:

Самый простой способ поделиться своими репозиториями Git, Mercurial и Subversion и управлять ими через http.

  • Очень простая установка
  • Нет необходимости взламывать файлы конфигурации, SCM-Manager полностью настраивается через веб-интерфейс
  • Не требуется Apache и установка базы данных
  • Центральное управление пользователями, группами и разрешениями
  • Из коробки поддержка для Git, Mercurial и Subversion
  • Full RESTFul Web Service API (JSON и XML)
  • Rich User Interface
  • Simple Plugin API
  • Доступны полезные плагины (например, Ldap-, ActiveDirectory-, PAM-Authentication)
1
ответ дан 2 December 2019 в 22:59

RhodeCode - это инструмент для браузера / управления репозиторием с открытым исходным кодом со встроенным сервером push / pull, LDAP / AD, системой разрешений и полнотекстовым поиском.

Вы можете это увидеть. живите здесь: http://demo.rhodecode.org/

0
ответ дан 2 December 2019 в 22:59

Теги

Похожие вопросы