Мне нужна самостоятельная замена Github. Крайне важно, чтобы он работал во внутренней сети с брандмауэром, без доступа к Интернету (например, стили, проверка лицензии и т. д.).
Должен быть либо с открытым исходным кодом (это означает, что это нормально, если в нем отсутствуют некоторые незначительные функции), либо доступным (> 2400 евро в год для 30 пользователей — это слишком дорого).
Я знаю, что есть по крайней мере:
Но у меня нет опыта работы с ними - этот список никоим образом не исключается из ответов. Однако, как я уже знаю, есть некоторые альтернативы, поэтому я ищу не список возможных решений, а рекомендации, основанные на том, что вы использовали и пробовали. Я также могу использовать поисковую систему, поэтому нет необходимости публиковать ответы только с скопированным контентом из первого обращения.
Мы использовали GitLab больше года для размещения проектов моих студентов.
TL;DR;EDIT: раньше была демоверсия , но теперь ее нет. Вы можете бесплатно зарегистрироваться и создать несколько общедоступных репозиториев.
Я должен сказать, что я действительно доволен.
Поскольку на этом сайте поощряется повторение вашего требования, я сделаю именно это.
Относительно хороший веб-интерфейс : вы можете просматривать исходный код и историю, статистику (глобальную и для каждого пользователя) и графики коммитов (например, «сеть» на Github). Вы можете комментировать каждую строку фиксации из графического интерфейса, это отличная функция! Извините, но я не могу предоставить скриншоты, мне пришлось бы вручную анонимизировать их. В целом это похоже на Github.
Поддержка git и/или mercurial. Поддержка обоих является плюсом. Только гит.
Оболочка SSH (репозитории должны быть доступны по ssh, а не только по http, хотя, по крайней мере, git относительно хорошо поддерживает все операции по http) : это как в Github. HTTP для доступа только для чтения, SSH для чтения и записи.
Разрешения: не менее
частные/общедоступные репозитории : это там.
только для чтения и полный доступ : вы можете определить роли (я полагаю, что по умолчанию это мастер, разработчик, репортер, гость).
Тот же набор разрешений для веб-интерфейса и для SSH (при предоставлении/изменении разрешений это должно быть отражено в обоих) : я считаю, что это работает именно так, но поскольку у меня сейчас нет доступа администратора, это трудно проверить. Но, опять же, это как гитхаб.
желательно интеграция с LDAP (как пользователи, так и группы для разрешений) : У нас есть это. Все входят в систему через ldap, сотрудники имеют больше привилегий, чем студенты. НО я не могу сказать, было ли это очень легко, это просто возможно.
Запросы на слияние (также известные как запрос на слияние) : присутствует.
Инструменты администрирования: создание репозиториев, предоставление доступа : Все из веб-интерфейса, с удобным поиском пользователей и возможностью определения групп пользователей.
Простой трекер проблем: создание тикетов, комментирование, закрытие, теги/ярлыки : Да, это есть. Не уверен, что вы подразумеваете под жесткими тегами, ничего подобного не видел. Вехи?
Предпочтительно искать, включая билеты, пользователей, проекты, имена файлов и внутренний исходный код : это, вероятно, будет наименее причудливой функцией gitlab. Вы можете искать пользователей/проекты/группы, вы можете найти содержимое файлов, но не имя файла. Я нахожу это довольно неуклюжим.
Предпочтительно разветвление веб-интерфейса : присутствует.
Предпочтительно работает в Linux : очевидно ;-)
Процесс обновления : это довольно просто, если вы знаете свою систему. Каждый выпуск имеет собственное руководство по обновлению, которое всегда немного связано с рекомендуемой настройкой по умолчанию (т. е. пути, пользователи, команды и т. д.). Если у вас нестандартная (по их меркам) система, то при кастомизации сетапа придется потратить немного времени на то, чтобы все накачать, но ничего сложного нет - в основном новый клон, запускаете несколько скриптов и все снова сделано. Никогда не было никаких проблем, но я перестал следить за процессом довольно давно. ОБНОВЛЕНИЕ Gitlab теперь включает (начиная с 6.4.2) простой скрипт обновления . Предполагая, что у вас стандартная компоновка системы, фактический процесс обновления теперь представляет собой одну команду.
Он находится в активной разработке, и каждый месяц выходит новый релиз, так что его определенно стоит попробовать. Это с открытым исходным кодом, бесплатно для коммерческого использования.
Для работы Gitlab не требуется подключение к Интернету. Вам понадобится Интернет для настройки Gitlab, потому что он загружает свои зависимости с RubyGems. Кроме того, вы можете создать зеркало RubyGems или выполнить установку на другом сервере и скопировать полный каталог установки (по умолчанию /home/git/
) на этот сервер.
Скриншот
Мы используем Atlassian Stash вместе с Jira для отслеживания проблем.
Лицензия Stash составляет 10 долларов США для 10 пользователей, 1800 долларов США для 25 пользователей, 3300 долларов США для 50 пользователей, 6000 долларов США для 100 пользователей и 12 000 долларов США для 500 пользователей. Сам Stash не включает отслеживание проблем, но отдельное решение для отслеживания проблем, Jira, распространяется Atlassian по той же модели лицензирования.
Конечно, для удовлетворения ваших требований
Gogs (Go Git Service) — это безболезненный самостоятельный Git-сервис, написанный на Go. Альтернативой может быть форк Gitea , управляемый сообществом .
Я попробовал этот, и я нашел его довольно привлекательным. Простой интерфейс, функции почти на уровне того, что я ожидал от внешнего вида GitHub, и сопровождающий, стремящийся реализовать функцию и исправить ошибки. Установка предельно проста. Скиньте бинарник в папку и вызовите его из командной строки. Первоначальная настройка осуществляется через конфигурационный файл. И у него есть Git и веб-хуки. В любом случае, я надеюсь, что следующий ответ ответит на вопрос, даже если он немного запоздал.
.ssh/authorized_keys
), 2) создайте/инициализируйте репозиторий через WebUI (не вручную через git init
). Тогда, кажется, работает нормально. Однако пока не найдено способа принять существующее базовое репо.Я бы предложил Тулепа
Плюс (поскольку это полноценный ALM, он не ограничивается управлением кодом)
Это 100% Open Source (GPLv2), и вы можете получить профессиональную поддержку от Enalean.
Полное раскрытие: я являюсь частью команды разработчиков, поэтому, вероятно, не на 100% честно;)
Я использую Phabricator , который разработан с помощью самого Phabricator .
Разрешения :
stable
ветку) находится в рабочем состоянии, поэтому обновление в основном зависит от выполнения git pull
и любых ожидающих миграций базы данных.Я пробовал gitstack последние пару недель. Я еще не полностью изучил его (ах, времени всегда так мало). Я собираюсь использовать в основном скриншоты из их списка функций, так как сейчас я нахожусь не на том компьютере (и не в той сети FWIW).
GitStack имеет открытый исходный код, а исходный код находится на github . Выпущено под GPL, как указано на их странице функций - все функции в настоящее время, хотя в будущем они могут добавить новые функции в платные версии, а не в бесплатную версию, но по состоянию на ноябрьский выпуск 2013 года, чего еще не произошло.
Что касается ценообразования :
ОБНОВЛЕНИЕ 2015: Gitorious будет объединен с GitLab, так что смотрите ответ GitLab .
Gitorious — это программное обеспечение для хостинга и совместной работы Git, которое вы можете установить самостоятельно.
Это открытый исходный код, и вы можете попробовать его на gitorious.org.
RhodeCode Enterprise 3 ( https://rhodecode.com ) соответствует 9 из 10 ваших требований:
RhodeCode Enterprise бесплатен для 10 пользователей, НПО и EDU. Он написан на Python, используется более чем в 10 000 организаций и был улучшен и настроен этими организациями в течение более 3 лет.
Отказ от ответственности: я соучредитель RhodeCode.
Поскольку он еще не указан ни в вопросе, ни в предыдущих ответах, есть также Deveo , который поддерживает требования. Мы запускаем бесплатный уровень для 5 пользователей, после чего цена составит 36 евро за пользователя в год.
У Deveo один из лучших UI/UX.
Deveo поддерживает оба варианта, кроме Subversion (SVN).
Поддерживаются как SSH, так и HTTPS.
Поддерживаются все вышеперечисленные варианты использования. В Deveo репозитории сгруппированы внутри проектов, что означает, что вы можете иметь внутренние и внешние репозитории в одном проекте. Существует детальный контроль доступа, который можно использовать как на уровне проекта, так и на уровне репозитория. Одна и та же схема разрешений естественным образом применяется как к репозиториям, так и к веб-интерфейсу. Deveo можно интегрировать в LDAP/AD, и, кроме того, вы можете настроить Deveo для аутентификации в службе единого входа на основе SAML 2.0.
В настоящее время запросы на вытягивание поддерживаются в том же репозитории. Вы можете установить количество утверждений, необходимых для объединения изменений, и даже потребовать прохождения сборки для ветки, прежде чем можно будет провести слияние.
Deveo поддерживает несколько уровней доступа для создания репозиториев и предоставления доступа. Управление доступом основано на ролях, что делает его простым для понимания и использования.
В Deveo есть встроенный трекер проблем, похожий на Trello. Вы можете создавать вехи, которые действуют как доски Trello, и перетаскивать задачи из одного состояния в другое. Есть возможность комментировать проблемы, добавлять вложения, назначать людей, маркировать проблемы и многое другое.
Вы можете искать большую часть контента в Deveo.
Разветвление поддерживается из пользовательского интерфейса.
Поддерживаются все распространенные дистрибутивы Linux (Debian, CentOS, Ubuntu, RedHat).
Я связан с Deveo
Обновление: кажется, что RhodeCode на самом деле НЕ является закрытым исходным кодом, у него есть версия для сообщества (с открытым исходным кодом), а некоторые функции (предприятие) являются закрытым исходным кодом. Учитывая это, я не уверен, насколько активным останется форк Kallithea.
Kallithea начиналась как форк RhodeCode с открытым исходным кодом, форк был запущен, потому что RhodeCode стал закрытым исходным кодом. Каллифея свободна.
Он поддерживает репозитории Git и Mercurial. Неудивительно, что он имеет тот же пользовательский интерфейс, что и версия RhodeCode 2013 года.
Основной сайт:
Это дополнение к ответу Piotr Zierhoffer на GitLab .
Я тоже искал решения для этого (за последние пару лет) и нашел GitLab наиболее подходящим с точки зрения функций, удобства использования и лицензии. Я был приятно удивлен тем, насколько он похож на GitHub. Ответ, опубликованный выше, превосходен.
Я хотел бы добавить, что вам не обязательно устанавливать его с нуля или использовать размещенный сервис (или сторонний, такой как GitHost). Есть несколько провайдеров VPS и облачного хостинга, у которых есть настройки «в один клик» для GitLab, а также есть образы и контейнеры для Amazon Web Services и Docker.
Например, я недавно переключил хостинг-провайдера VPS на DigitalOcean и был рад обнаружить, что у них есть «капля» для GitLab одним щелчком мыши (а также учебные пособия как для установки в один клик, так и для ручной установки). Что касается облачного хостинга, Amazon EC2 очень доступен, и я видел множество руководств и как минимум пару популярных изображений для GitLab.
Еще раз приносим извинения за то, что сделали это отдельным ответом - надеюсь, вы не возражаете. Я действительно хотел упомянуть об этом, так как это может быть полезно для людей, которые ищут наиболее экономичный способ запуска программного обеспечения, рекомендованного в принятом ответе.
(Если кто-то использует какой-либо из них, было бы интересно узнать, как это работает с точки зрения настройки, обслуживания и производительности.)
Сыце Сийбрандий
Тиамаркос
Натан Осман
Стефан Штайгер
Уоррен П.
пользователь3791372
Томас Веллер
Броко
iBug