Самостоятельная альтернатива github с многоклиентским доступом к репозиторию

Как и в этом вопросе , мне нужна альтернатива github, которую можно разместить самостоятельно. Это мои требования (они отличаются 2 и 11 от связанного вопроса). Требование 11 (или работающая альтернатива) является обязательным.

  1. Относительно хороший веб-интерфейс: исходный код и просмотр фиксации являются обязательными.
  2. Поддержка git и subversion. Поддержка mercurial является плюсом.
  3. Оболочка SSH (репозитории должны быть доступны по ssh, а не только по http, хотя, по крайней мере, git относительно хорошо поддерживает все операции по http)
  4. Разрешения: не менее
    • частные/общедоступные репозитории
    • только чтение и полный доступ
    • Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно быть отражено для обоих)
    • желательно интеграция с LDAP (и пользователи и группы для разрешений)
  5. Пул-реквесты (также известные как мерж-реквесты)
  6. Инструменты администрирования: создание репозиториев, предоставление доступа
  7. Простой трекер задач: создание тикетов, комментирование, закрытие, теги/метки
  8. Предпочтительно поиск, включая заявки, пользователей, проекты, имена файлов и внутренний исходный код.
  9. Предпочтительно разветвление из веб-интерфейса
  10. Предпочтительно работает в Linux
  11. Получите доступ к репозиториям git с помощью клиента subversion (например, через URL-адрес http(s)).

Должен быть либо с открытым исходным кодом (что означает, что это нормально, если в нем отсутствуют некоторые незначительные функции), либо доступным (> 2400 евро в год для 30 пользователей слишком дорого).

Для фона я хотел бы сохранить наш существующий репозиторий subversion и указать конкретную версию внешнего репозитория git (в данном случае buildroot). Иногда я хотел бы обновить внешнюю версию до более новой версии, переключив внешнюю ссылку и исправив любые ошибки, связанные с обновлениями. Если возможно, я также хотел бы сохранить клон внешнего репозитория git в собственной системе.

Если вышеуказанное невозможно, можете ли вы порекомендовать альтернативный метод для достижения той же цели?

Добро пожаловать в рекомендации по программному обеспечению! Обычно лучше хранить всю информацию по вопросу внутри тела вопроса. Я интегрировал элементы из связанного вопроса здесь, посмотрите, все ли я правильно понял.
@AngeloFuchs Спасибо - я немного почистил.
Обратите внимание, что «открытый исходный код» не обязательно означает «бесплатное использование».

Ответы (2)

GitLab Community Edition, кажется, удовлетворяет большинству ваших критериев.

Добро пожаловать в рекомендации по программному обеспечению! В настоящее время ваш ответ немного тонкий. Не могли бы вы подробнее рассказать о том, как этот инструмент достигает целей ОП? Нам нравится, чтобы наши рекомендации были чем-то большим, чем просто ссылка и фраза «Это может сработать». Вы использовали инструмент? Каков ваш опыт? Каковы его плюсы и минусы? Есть ситуации, которые не являются очевидно разрешимыми? Расскажите нам, что делает этот инструмент правильным инструментом.

Здесь RhodeCode может подойти. Это самодостаточная платформа с открытым исходным кодом для управления исходным кодом за брандмауэром.

Интерфейс RhodeCode

Глядя на ваши требования:

✓ Относительно хороший веб-интерфейс: исходный код и просмотр фиксации

✓ Поддержка Git, Subversion и Mercurial

✓ Оболочка SSH (репозитории должны быть доступны по ssh)

✓ Разрешения: частные/общедоступные репозитории, только чтение и полный доступ

✓ Тот же набор разрешений для веб-интерфейса и для SSH.

✓ интеграция с LDAP (как пользователи, так и группы для разрешений)

✓ Запросы на слияние (также известные как запросы на слияние)

✓ Инструменты администрирования: создание репозиториев, предоставление доступа

✓ Поиск, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код

✓ Предпочтительно разветвление из веб-интерфейса

✓ Предпочтительно работает в Linux

Вот некоторые особенности RhodeCode:

Командное сотрудничество

  • проверки кода
  • параллельные различия
  • запросы на вытягивание
  • встроенный чат исходного кода
  • полнотекстовый поиск по коду и индексация исходного кода
  • добавление, редактирование, удаление файлов через Интернет
  • фрагменты кода (суть).

Управление репозиторием

  • унифицированная поддержка Mercurial, Git и Subversion
  • детальное управление пользователями и инструменты контроля доступа
  • расширенная система разрешений с ограничениями IP.

Безопасность кода и аутентификация

  • подключаемая система аутентификации с токенами и поддержкой LDAP, Atlassian Crowd, Http-Headers, Pam.
  • варианты корпоративной аутентификации: Active Directory, аутентификация GitHub/Google/BitBucket, двухфакторная аутентификация. Интеграция со сторонними системами отслеживания проблем и инструментами CI (Jira, Redmine, Jenkins и т. д.)