Самостоятельная замена Github

Мне нужна самостоятельная замена Github. Крайне важно, чтобы он работал во внутренней сети с брандмауэром, без доступа к Интернету (например, стили, проверка лицензии и т. д.).

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

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

Я знаю, что есть по крайней мере:

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

Ответы (11)

Мы использовали GitLab больше года для размещения проектов моих студентов.

TL;DR;EDIT: раньше была демоверсия , но теперь ее нет. Вы можете бесплатно зарегистрироваться и создать несколько общедоступных репозиториев.

Я должен сказать, что я действительно доволен.

Поскольку на этом сайте поощряется повторение вашего требования, я сделаю именно это.

  1. Относительно хороший веб-интерфейс : вы можете просматривать исходный код и историю, статистику (глобальную и для каждого пользователя) и графики коммитов (например, «сеть» на Github). Вы можете комментировать каждую строку фиксации из графического интерфейса, это отличная функция! Извините, но я не могу предоставить скриншоты, мне пришлось бы вручную анонимизировать их. В целом это похоже на Github.

  2. Поддержка git и/или mercurial. Поддержка обоих является плюсом. Только гит.

  3. Оболочка SSH (репозитории должны быть доступны по ssh, а не только по http, хотя, по крайней мере, git относительно хорошо поддерживает все операции по http) : это как в Github. HTTP для доступа только для чтения, SSH для чтения и записи.

  4. Разрешения: не менее

    • частные/общедоступные репозитории : это там.

    • только для чтения и полный доступ : вы можете определить роли (я полагаю, что по умолчанию это мастер, разработчик, репортер, гость).

    • Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно быть отражено в обоих) : я считаю, что это работает именно так, но поскольку у меня сейчас нет доступа администратора, это трудно проверить. Но, опять же, это как гитхаб.

    • желательно интеграция с LDAP (как пользователи, так и группы для разрешений) : У нас есть это. Все входят в систему через ldap, сотрудники имеют больше привилегий, чем студенты. НО я не могу сказать, было ли это очень легко, это просто возможно.

  5. Запросы на слияние (также известные как запрос на слияние) : присутствует.

  6. Инструменты администрирования: создание репозиториев, предоставление доступа : Все из веб-интерфейса, с удобным поиском пользователей и возможностью определения групп пользователей.

  7. Простой трекер проблем: создание тикетов, комментирование, закрытие, теги/ярлыки : Да, это есть. Не уверен, что вы подразумеваете под жесткими тегами, ничего подобного не видел. Вехи?

  8. Предпочтительно искать, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код : это, вероятно, будет наименее причудливой функцией gitlab. Вы можете искать пользователей/проекты/группы, вы можете найти содержимое файлов, но не имя файла. Я нахожу это довольно неуклюжим.

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

  10. Предпочтительно работает в Linux : очевидно ;-)

  11. Процесс обновления : это довольно просто, если вы знаете свою систему. Каждый выпуск имеет собственное руководство по обновлению, которое всегда немного связано с рекомендуемой настройкой по умолчанию (т. е. пути, пользователи, команды и т. д.). Если у вас нестандартная (по их меркам) система, то при кастомизации сетапа придется потратить немного времени на то, чтобы все накачать, но ничего сложного нет - в основном новый клон, запускаете несколько скриптов и все снова сделано. Никогда не было никаких проблем, но я перестал следить за процессом довольно давно. ОБНОВЛЕНИЕ Gitlab теперь включает (начиная с 6.4.2) простой скрипт обновления . Предполагая, что у вас стандартная компоновка системы, фактический процесс обновления теперь представляет собой одну команду.

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

Для работы Gitlab не требуется подключение к Интернету. Вам понадобится Интернет для настройки Gitlab, потому что он загружает свои зависимости с RubyGems. Кроме того, вы можете создать зеркало RubyGems или выполнить установку на другом сервере и скопировать полный каталог установки (по умолчанию /home/git/) на этот сервер.

Скриншот

Страница репозитория gitlab с версии 8.11, август 2016 г.

GitLab теперь предлагает пакеты, которые вы можете загрузить и установить без подключения к Интернету, что соответствует первому требованию, указанному в вопросе. См. about.gitlab.com/downloads
Я также подписываюсь на решение GitLab — я занимаюсь тяжелой разработкой и использую системы контроля версий уже более 10 лет, и я размещаю и администрирую как Stash в своей компании, так и GitLab на своем личном VPS. Stash дорого обходится большому количеству разработчиков и не работает без подключения к серверу лицензий для проверки лицензии. GitLab немного сложнее установить, но он определенно стоит затраченных усилий — он ближе всего к функциям GitHub без ограничений и выполняет все ваши требования даже в бесплатной версии (для сообщества).
Кроме того, GitLab поддерживает доступ для записи через HTTPS.
Вместо этого я бы использовал GoGS (gogs). Во-первых, я устал от любого программного обеспечения, в котором есть кнопка «цена/купить» с «бесплатной» (заблокированной) версией и корпоративной версией с критическими функциями (хуками). Во-вторых, потому что это добавляет зависимость к Ruby со всеми дырами в безопасности, содержащимися в Ruby. GoGS не добавляет никаких зависимостей (кроме библиотеки времени выполнения C, которую Ruby также использует вместе со всем остальным). И у Go выдающиеся показатели безопасности, плюс он не связывает ничего, кроме атомарных зависимостей, которые вам действительно нужны (меньше кода — больше безопасности).
GitLab развивается с невероятной скоростью и стал моим любимым серверным инструментом контроля версий. Я даже перешел с Mercurial на Git, чтобы использовать GitLab. Два больших пальца вверх.
Gitlab стал слишком раздутым и слишком вялым
Администрация Gitlab — бардак. Я пытался установить 4,5 часа без успеха.
@ThomasWeller Я не хотел устанавливать его специально из-за этого, мне нужен был быстрый и простой способ сделать это. Затем я обнаружил, что у TurnkeyLinux есть для этого приспособление. ISO или VM-образ. Вы просто устанавливаете пароли и основные настройки при первой загрузке. В настоящее время я тестирую его, и он выглядит очень многообещающе. turnkeylinux.org/gitlab
Обязательно порекомендуйте GitLab CE (или EE, если вы готовы платить)!

Мы используем Atlassian Stash вместе с Jira для отслеживания проблем.

Тайник

Лицензия Stash составляет 10 долларов США для 10 пользователей, 1800 долларов США для 25 пользователей, 3300 долларов США для 50 пользователей, 6000 долларов США для 100 пользователей и 12 000 долларов США для 500 пользователей. Сам Stash не включает отслеживание проблем, но отдельное решение для отслеживания проблем, Jira, распространяется Atlassian по той же модели лицензирования.

Конечно, для удовлетворения ваших требований

  1. Вы должны решить сами, но пока у меня не было проблем с веб-интерфейсом. Он обладает широкими возможностями расширения благодаря поддержке подключаемых модулей и REST API .
  2. Stash поддерживает только Git.
  3. Stash поддерживает http, https и ssh.
  4. Несколько пользователей (ограничено лицензией) и система разрешений.
  5. Полное управление репозиторием, включая запросы на включение.
  6. Полноценные инструменты администрирования, общедоступные репозитории (доступные без учетной записи), пользовательские репозитории и репозитории проектов с правами доступа.
  7. Интеграция с отслеживанием задач Jira.
  8. Поиск по репозиторию, фиксации, проблеме и файлу.
  9. Разветвленные репозитории проектов, пользовательские репозитории и т. д.
  10. Доступно в Linux, Windows и OS X (только для ознакомления) .
Есть ли проблемы с тайником? В целом, хороший ответ.
@Olli Не так много, о чем я могу думать. Цена - главный минус. Для успешной установки также потребуется совместимая установка Oracle Java или OpenJDK и установка поддерживаемой базы данных. Дополнительные сведения см. в разделе поддерживаемые платформы .
есть только одна проблема, из-за которой вы не можете разветвить любой репозиторий из github через веб-интерфейс. Они предоставляют консольное решение! Большинство пользователей уже запросили эту функцию, но никто не слушает.
GitLab намного опережает возможности и включает в себя доску задач Kanban, отслеживание проблем и непрерывную интеграцию в одном удобном пакете. И вы можете бесплатно развернуть GitLab CE на своем собственном сервере. А если вы хотите платить за поддержку, GitLab EE дешевле, чем Stash.

Gogs (Go Git Service) — это безболезненный самостоятельный Git-сервис, написанный на Go. Альтернативой может быть форк Gitea , управляемый сообществом .

Я попробовал этот, и я нашел его довольно привлекательным. Простой интерфейс, функции почти на уровне того, что я ожидал от внешнего вида GitHub, и сопровождающий, стремящийся реализовать функцию и исправить ошибки. Установка предельно проста. Скиньте бинарник в папку и вызовите его из командной строки. Первоначальная настройка осуществляется через конфигурационный файл. И у него есть Git и веб-хуки. В любом случае, я надеюсь, что следующий ответ ответит на вопрос, даже если он немного запоздал.

  1. Относительно хороший веб-интерфейс: исходный код и просмотр фиксации являются обязательными. - оба присутствуют
  2. Поддержка git и/или mercurial. Поддержка обоих является плюсом. - только поддержка Git
  3. Оболочка SSH (репозитории должны быть доступны через ssh, а не только через http, хотя, по крайней мере, git относительно хорошо поддерживает все операции через http) - как SSH, так и HTTP, насколько я могу судить
  4. Разрешения: не менее
    • частные/общедоступные репозитории - оба
    • только для чтения и полный доступ - не уверен насчет только для чтения, я еще не пытался настроить его для какого-либо репо и не смог найти настройки после быстрого просмотра
    • Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно быть отражено для обоих) — то же самое: я еще не использовал SSH (доступен только в локальной сети)
    • желательно интеграция в LDAP (и пользователи и группы для разрешений) - это либо уже интегрировано, либо в процессе интеграции
  5. Запросы на слияние (также известные как запрос на слияние) — ofc
  6. Инструменты администрирования: создание репозиториев, предоставление доступа - да
  7. Простой трекер проблем: создание тикетов, комментирование, закрытие, теги/ярлыки — обычная функция присутствует
  8. Предпочтительно искать, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код - без поиска из того, что я могу отличить в пользовательском интерфейсе фиксации для каждого репозитория.
  9. Предпочтительно разветвление веб-интерфейса — функция пользовательского интерфейса присутствует, но я никогда не использовал ее.
  10. Предпочтительно работает в Linux - он работает на чем угодно, что может быть скомпилировано. Бинарный и исходный код доступны.
Если вы используете Gogs, вы можете вместо этого установить Gitea . Это форк Gogs So Gogs, управляемый сообществом, но лучше. пост ХН .
Выглядит красиво, но явно не хватает документации. Например, мне не удалось связать с ним существующие базовые репозитории. Мне нужен WebUI, но я хочу использовать уже существующую настройку через URL-адрес git@. Я могу сделать это с репозиториями, созданными с помощью Gogs/Gitea (которые используют те же базовые компоненты), но установка не замечает этих изменений. Кажется, он ведет запись в своей базе данных, но я не нашел способа синхронизации. Т.е. пуш проходит успешно, но WebUI этого не отражает. Для меня это не имеет смысла. Я, должно быть, что-то пропустил здесь.
Хорошо, справился с этим по-другому. Рекомендуемая литература: Установка Gitea на Debian (легко читать и следовать, можно применить и к Gogs). Длинный: Как разместить свой собственный GitHub с помощью Gogs . Что я пропустил: 1) импортируйте свой ключ SSH через WebUI (не добавляйте его самостоятельно в .ssh/authorized_keys), 2) создайте/инициализируйте репозиторий через WebUI (не вручную через git init). Тогда, кажется, работает нормально. Однако пока не найдено способа принять существующее базовое репо.
Вы сэкономили мне еще несколько часов на поиски того, как заставить работать SSH @Izzy. Спустя год документация по-прежнему в беспорядке.

Я бы предложил Тулепа

Тулеп 7 сообщает

  1. Веб-интерфейс: в настоящее время ведется тяжелая работа (основной релиз ожидается через пару недель, вы можете получить ранний предварительный просмотр на демо-сайте )
  2. git, subversion и даже cvs поддерживаются
  3. Доступ по SSH и HTTPS
  4. Управление доступом на основе групп, репо за репо (чтение, запись, перемотка назад). Может поддерживаться LDAP или AD, но не обязательно
  5. Проверка кода и гейтирование поставляются с интеграцией Gerrit (только ALM для работы с родным исходным gerrit)
  6. Веб-администрирование с парадигмой проекта/репозитория. Отсутствие зависимости от центрального администратора
  7. Комплексная система отслеживания. Может быть настолько простым, насколько это необходимо, но также может использоваться для соответствия CMM/ITIL/ISO (на той же платформе, без дополнительного инструмента или плана).
  8. Поиск хорош для билетов, но в настоящее время большое улучшение связано с поддержкой ElasticSearch.
  9. Web Fork (личное репо и репозиторий между проектами)
  10. Работает в Linux (для производства рекомендуется RHEL/Centos 6)

Плюс (поскольку это полноценный ALM, он не ограничивается управлением кодом)

  • Нативно интегрирован с Jenkins для непрерывной интеграции
  • Управление документами
  • Обмен мгновенными сообщениями (jabber/XMPP)
  • Список, форум и новости
  • Очень активная разработка (ежемесячный выпуск, удобный процесс обновления: 2 команды, 1 минута простоя).
  • Уже используется крупными игроками отрасли (нельзя раскрыть, но легко найти в списках рассылки...)

Это 100% Open Source (GPLv2), и вы можете получить профессиональную поддержку от Enalean.

Полное раскрытие: я являюсь частью команды разработчиков, поэтому, вероятно, не на 100% честно;)

Я использую Phabricator , который разработан с помощью самого Phabricator .

Домашняя страница Фабрикатора

  1. Относительно хороший веб-интерфейс : вы можете просматривать код, коммиты, сравнения, искать задачи с определенными параметрами. Практически каждое приложение позволяет выполнять пользовательский поиск по своим данным;
  2. Поддержка git и/или mercurial : есть поддержка Git, Mercurial и Subversion;
  3. Оболочка SSH (репозитории должны быть доступны через ssh, а не только через http, хотя, по крайней мере, git относительно хорошо поддерживает все операции через http) : я не могу сказать для SVN, потому что я его не тестировал, но для Mercurial и Git вы можно настроить каждый репозиторий на чтение-запись или только на чтение как для HTTP, так и для SSH отдельно;
  4. Разрешения :

    • частные/общедоступные репозитории : проверить;
    • только для чтения и полный доступ : вы можете настроить, кто может просматривать проект и кто может нажимать на него на той же странице:

    разрешения репозитория фабрикатора

    • Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно отражаться на обоих) : см. выше;
    • желательно интеграция с LDAP (как пользователи, так и группы для разрешений) : Для пользователей у вас есть. Что касается групп/разрешений, я не уверен;
  5. Запросы на слияние (также известные как запрос на слияние) : да, и вы также можете создавать их с помощью командной строки, что действительно является предпочтительным методом;
  6. Инструменты администрирования: создание репозиториев, предоставление доступа : см. рисунок в пункте 4., вы можете разрешить создавать репозитории всем, если хотите, или разрешить это делать только определенным пользователям/группам;
  7. Простой трекер проблем: создание тикетов, комментирование, закрытие, теги/ярлыки : все есть. Вы создаете задачи в Manifest , что позволяет классифицировать их с помощью Projects («эквивалент тегов Phabricator»), помещать их в рабочие доски и создавать настраиваемые поля для всех ваших целей отслеживания;
  8. Предпочтительно искать, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код : почти каждое приложение позволяет выполнять поиск по своим данным. Также выполняется поиск коммитов, а для Mercurial и Git есть поиск кода по репозиторию;
  9. Предпочтительно разветвление из веб-интерфейса : нет, хотя Phabricator не должен использоваться так же, как GitHub. Вы не храните отдельный репозиторий для отправки изменений вверх по течению (см. Дифференциал и Арканист );
  10. Предпочтительно работает в Linux : Да, он работает в Linux. Кроме того, очень легко перейти на новые версии. Проект Phabricator HEAD почти всегда (особенно если вы используете stableветку) находится в рабочем состоянии, поэтому обновление в основном зависит от выполнения git pullи любых ожидающих миграций базы данных.
У него также есть действительно хорошая рабочая доска канбан для управления задачами.
> С 1 июня 2021 г.: Phabricator больше не поддерживается.

Я пробовал gitstack последние пару недель. Я еще не полностью изучил его (ах, времени всегда так мало). Я собираюсь использовать в основном скриншоты из их списка функций, так как сейчас я нахожусь не на том компьютере (и не в той сети FWIW).

  1. Относительно хороший веб-интерфейс: исходный код и просмотр фиксации являются обязательными: Разумно - по крайней мере, до сих пор я не сталкивался с какими-либо проблемами.представление веб-фиксации
  2. Поддержка git и/или mercurial: поддерживает только git.
  3. Оболочка SSH (репозитории должны быть доступны через ssh, а не только через http, хотя, по крайней мере, git относительно хорошо поддерживает все операции через http): только http . Имеет полную поддержку git push pull и т. д. (по крайней мере, рекламируется, что я еще не пробовал эти функции).
  4. Разрешения: у него есть несколько пользователей, которые могут иметь разные разрешения, поэтому я полагаю, вы могли бы иметь заголовок пользователя «общедоступный», а затем разных частных пользователей и предоставлять разрешения на репозитории этим пользователям таким образом, чтобы сделать это. Однако, например, AFAIK не поддерживает переключение частного/общего доступа одним щелчком мыши. Также поддерживает LDAP.
  5. Запросы на слияние (также известные как запрос на слияние): Да РЕДАКТИРОВАТЬ: Извините, что неправильно прочитал; Нет, AFAIK не поддерживает запросы на извлечение.
  6. Инструменты администрирования: создание репозиториев, предоставление доступа: Да
  7. Простой трекер задач: создание тикетов, комментирование, закрытие, теги/ярлыки: К сожалению, нет .
  8. Предпочтительно искать, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код: я думаю, что только в сообщениях фиксации - не на моей машине/сети gitstack, поэтому не могу подтвердить прямо сейчас.
  9. Предпочтительно разветвление из веб-интерфейса: не думаю - не пробовал, но не припоминаю такой вариант.
  10. Предпочтительно работает в Linux: только Windows

GitStack имеет открытый исходный код, а исходный код находится на github . Выпущено под GPL, как указано на их странице функций - все функции в настоящее время, хотя в будущем они могут добавить новые функции в платные версии, а не в бесплатную версию, но по состоянию на ноябрьский выпуск 2013 года, чего еще не произошло.

Что касается ценообразования :

  • Бесплатно: все функции, без поддержки (ну, поддержка «сообщества»), максимум 2 учетные записи пользователей.
  • 5 пользователей: $150, поддержка по электронной почте.
  • 10 пользователей: 300 долларов, также бесплатно для 1 или 2 пользователей; 150 долларов США в год для 5 пользователей или 300 долларов США для 10 пользователей - для большего количества пользователей свяжитесь с ними .
  • Предприятие: электронная почта, телефон и удаленная поддержка, цена: свяжитесь с ними.

ОБНОВЛЕНИЕ 2015: Gitorious будет объединен с GitLab, так что смотрите ответ GitLab .

Gitorious — это программное обеспечение для хостинга и совместной работы Git, которое вы можете установить самостоятельно.

Это открытый исходный код, и вы можете попробовать его на gitorious.org.

Великолепный пользовательский интерфейс

  1. Относительно хороший веб-интерфейс: просмотр исходного кода и коммитов, создание и управление проектами и репозиториями.
  2. Поддержка git
  3. SSH-оболочка: да
  4. Разрешения: да
  5. Пул-реквесты: да
  6. Инструменты администрирования: да
  7. Простой трекер проблем: нет, но может интегрироваться с Trac
  8. Поиск: да
  9. Разветвление из веб-интерфейса: да
  10. Работает на Linux: да
Вы использовали (самоустановленный) gitorious? Есть ли у вас опыт? Насколько хорошо работает интеграция треков? Вы не знаете о 3) и 4)? Пожалуйста, прочтите этот мета-пост .
Лучше всего то, что группы пользователей являются глобальными, поэтому вы можете повторно использовать их в разных проектах, в отличие от github, где вам нужно создавать новые группы для каждой организации.

RhodeCode Enterprise 3 ( https://rhodecode.com ) соответствует 9 из 10 ваших требований:

  1. Относительно хороший веб-интерфейс: ДА
  2. Поддержка git и/или mercurial: ДА, поддерживает даже оба плюс Subversion
  3. Оболочка SSH: ДА, возможно с плагином
  4. Разрешения: ДА, полная система разрешений корпоративного уровня с делегированием разрешений, группами разрешений, наследованием, поддержкой LDAP/AD и т. д.
  5. Запросы на вытягивание: ДА, включая слияния на стороне сервера и собственные гибкие рабочие процессы.
  6. Инструменты администрирования: ДА
  7. Простой баг-трекер: НЕТ, но простая интеграция со всеми баг-трекерами
  8. Предпочтительно поиск: ДА, полный поиск по всему
  9. Предпочтительно разветвление из веб-интерфейса: ДА
  10. Предпочтительно работает в Linux: ДА, работает даже под Windows

RhodeCode Enterprise бесплатен для 10 пользователей, НПО и EDU. Он написан на Python, используется более чем в 10 000 организаций и был улучшен и настроен этими организациями в течение более 3 лет.

Отказ от ответственности: я соучредитель RhodeCode.

Поскольку он еще не указан ни в вопросе, ни в предыдущих ответах, есть также Deveo , который поддерживает требования. Мы запускаем бесплатный уровень для 5 пользователей, после чего цена составит 36 евро за пользователя в год.

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

У Deveo один из лучших UI/UX.

  1. Поддержка git и/или mercurial. Поддержка обоих является плюсом.

Deveo поддерживает оба варианта, кроме Subversion (SVN).

  1. Оболочка SSH (репозитории должны быть доступны по ssh, а не только по http, хотя, по крайней мере, git относительно хорошо поддерживает все операции по http)

Поддерживаются как SSH, так и HTTPS.

  1. Разрешения: не менее
    • частные/общедоступные репозитории
    • только чтение и полный доступ
    • Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно быть отражено для обоих)
    • желательно интеграция с LDAP (и пользователи и группы для разрешений)

Поддерживаются все вышеперечисленные варианты использования. В Deveo репозитории сгруппированы внутри проектов, что означает, что вы можете иметь внутренние и внешние репозитории в одном проекте. Существует детальный контроль доступа, который можно использовать как на уровне проекта, так и на уровне репозитория. Одна и та же схема разрешений естественным образом применяется как к репозиториям, так и к веб-интерфейсу. Deveo можно интегрировать в LDAP/AD, и, кроме того, вы можете настроить Deveo для аутентификации в службе единого входа на основе SAML 2.0.

  1. Пул-реквесты (также известные как мерж-реквесты)

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

введите описание изображения здесь

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

Deveo поддерживает несколько уровней доступа для создания репозиториев и предоставления доступа. Управление доступом основано на ролях, что делает его простым для понимания и использования.

  1. Простой трекер задач: создание тикетов, комментирование, закрытие, теги/метки

В Deveo есть встроенный трекер проблем, похожий на Trello. Вы можете создавать вехи, которые действуют как доски Trello, и перетаскивать задачи из одного состояния в другое. Есть возможность комментировать проблемы, добавлять вложения, назначать людей, маркировать проблемы и многое другое.

введите описание изображения здесь

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

Вы можете искать большую часть контента в Deveo.

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

Разветвление поддерживается из пользовательского интерфейса.

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

Поддерживаются все распространенные дистрибутивы Linux (Debian, CentOS, Ubuntu, RedHat).

Я связан с Deveo

Обновление: кажется, что RhodeCode на самом деле НЕ является закрытым исходным кодом, у него есть версия для сообщества (с открытым исходным кодом), а некоторые функции (предприятие) являются закрытым исходным кодом. Учитывая это, я не уверен, насколько активным останется форк Kallithea.

Kallithea начиналась как форк RhodeCode с открытым исходным кодом, форк был запущен, потому что RhodeCode стал закрытым исходным кодом. Каллифея свободна.

Он поддерживает репозитории Git и Mercurial. Неудивительно, что он имеет тот же пользовательский интерфейс, что и версия RhodeCode 2013 года.

Основной сайт:

https://kallithea-scm.org

Это дополнение к ответу Piotr Zierhoffer на GitLab .

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

Я хотел бы добавить, что вам не обязательно устанавливать его с нуля или использовать размещенный сервис (или сторонний, такой как GitHost). Есть несколько провайдеров VPS и облачного хостинга, у которых есть настройки «в один клик» для GitLab, а также есть образы и контейнеры для Amazon Web Services и Docker.

Например, я недавно переключил хостинг-провайдера VPS на DigitalOcean и был рад обнаружить, что у них есть «капля» для GitLab одним щелчком мыши (а также учебные пособия как для установки в один клик, так и для ручной установки). Что касается облачного хостинга, Amazon EC2 очень доступен, и я видел множество руководств и как минимум пару популярных изображений для GitLab.

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

(Если кто-то использует какой-либо из них, было бы интересно узнать, как это работает с точки зрения настройки, обслуживания и производительности.)