Вопрос или проблема
Здесь есть множество вопросов о заменах GitHub.
Я тоже ищу такую замену. Однако я не готов устанавливать все эти бесконечные инструменты, такие как Gitlab, которые требуют множество зависимостей.
Но для того, чтобы программное обеспечение управляло ключевой частью бизнеса в течение следующих x лет, я хотел бы что-то менее замысловатое и более надежное …
Есть ли рекомендации по альтернативе GitHub с низкими зависимостями и самохостингом? Только с открытым исходным кодом, и Linux обязателен (например, Gitstack не подходит).
Мой список желаемого:
-
Низкие зависимости. В частности, без Ruby, PHP, Node.js или Elasticsearch.
-
Хороший веб-интерфейс для Git с возможностями форкинга и пулл-запросов. Редактирование кода в браузере не требуется.
-
Отслеживание проблем – это плюс, но не обязательно (но обычно пулл-запросы подразумевают какое-то управление проблемами).
-
Контроль доступа. По крайней мере, на уровне репозитория, желательно на уровне ветки. Должны поддерживаться частные и публичные репозитории.
-
Работает со стандартными инструментами, а не с ненадежными модными инструментами, которые исчезают в никуда через год.
-
Открытый исходный код. Чтобы обеспечить долгосрочную жизнеспособность, и у меня нет бюджета, который я мог бы потратить. Настоящий открытый исходный код – не тот, где поддерживающая компания решает сделать его коммерческим инструментом в следующем году.
В конце концов, я хотел бы, чтобы это было как Git. Мощно, но при этом просто, минималистично и надежно. Работает везде, вместо того чтобы подтягивать кучу зависимостей, которые могут и в конечном итоге сломаются.
Мне довольно понравился Gitblit. Он требует Java, но это буквально единственная зависимость. Он полностью самодостаточен, если вы не хотите настраивать свой собственный контейнер Servlet и настраивать его самостоятельно, что также возможно.
На данный момент Gogs (https://github.com/gogits/gogs) может быть хорошим ответом для вас. Он написан на Go, имеет низкие зависимости, низкие требования к ресурсам, единый бинарный файл, немного конфигурации, нет модных функций, но очень надежен.
RhodeCode хорошо работает для нас.
Что касается вашего списка желаемого:
Низкие зависимости. В частности, без Ruby, PHP, Node.js или
Elasticsearch. Никаких притворств, что это большие данные; репозитории Git, превышающие 1 ГБ, по сути сломаны.
RhodeCode использует Elasticsearch, что отлично в нашем случае, так как у нас есть старые репозитории размером более 25 Гб.
Хороший веб-интерфейс для Git с возможностями форкинга и пулл-запросов. Редактирование кода в браузере не требуется.
У него аккуратный интерфейс, с возможностью редактирования кода в браузере.
Отслеживание проблем – это плюс, но не обязательно (но обычно, пулл-запросы
подразумевают какое-то управление проблемами).
Мы используем Jira, но я знаю, что RhodeCode интегрируется с RedMine и множеством других инструментов.
Контроль доступа. По крайней мере, на уровне репозитория, желательно на уровне ветки. Частные и публичные репозитории должны поддерживаться.
Контроль можно настроить на уровне репозитория/ветки/группы пользователей. Поддерживаются LDAP, Active Directory, двухфакторная аутентификация и т. д.
Работает со стандартными инструментами вместо всех модных инструментов, которые исчезают в никуда через год.
Насколько я знаю, он интегрируется с большинством инструментов, которые сейчас являются де-факто отраслевым стандартом: RedMine, Jira, Slack, HipChat и т. д.
Открытый исходный код. Чтобы обеспечить долгосрочную жизнеспособность, и у меня нет бюджета,
который я мог бы потратить. Плюс, использовать закрытый код для разработки с открытым исходным кодом
как-то не по-людски, не так ли? Настоящий открытый исходный код – не тот, где
поддерживающая компания решает сделать его коммерческим инструментом в следующем году.
RhodeCode CE (Community Edition) бесплатен и с открытым исходным кодом, RhodeCode EE (Enterprise Edition) имеет коммерческую лицензию. С моей точки зрения, наличие коммерческого продукта – это лучшее доказательство долгосрочной жизнеспособности для открытого исходного кода.
Ответ или решение
Платформы для собственного хостинга Git с низкими накладными расходами
В период, когда множество компаний ищут альтернативы GitHub, важно учесть требования к серверам, а также минимизировать накладные расходы и зависимость от сложных технологий. Ниже представлены несколько решений, которые соответствуют вашим критериям низкой сложности, открытого кода и с хорошим веб-интерфейсом для работы с Git.
1. Gogs
Gogs — это легковесная альтернативная платформа, написанная на Go (Golang), что позволяет добиться минимальных системных требований и простой настройки. Этот инструмент обладает следующими преимуществами:
- Низкие зависимости: Gogs работает как один бинарный файл, что значительно упрощает установку и настройку.
- Интуитивно понятный интерфейс: Платформа предоставляет удобный веб-интерфейс для управления репозиториями с возможностью форков и выполнения pull-запросов.
- Поддержка контроля доступа: Вы можете создавать как публичные, так и приватные репозитории, а также управлять доступом на уровне веток.
- Открытый код: Gogs является полностью открытым проектом, что гарантирует долгосрочную поддержку и развитие.
Пример использования данной системы может быть идеальным для малого или среднего бизнеса, которому нужна надежная и легковесная альтернатива GitHub.
2. Gitblit
Gitblit — это еще одно решение с низкими накладными расходами, написанное на Java. Хотя Java является зависимостью, Gitblit все равно выделяется рядом своих плюсов:
- Самодостаточная система: Вы можете развернуть его самостоятельно, либо использовать встроенный контейнер сервлетов.
- Функциональная веб-панель: Gitblit предлагает возможность управления репозиториями, форками и pull-запросами через веб-интерфейс.
- Контроль доступа: Gitblit позволяет управлять доступом как на уровне репозитория, так и на уровне веток.
- Открытое программное обеспечение: Важным аспектом является наличие открытого кода, что позволяет развивать систему без предложений от коммерческих компаний.
В случае, если ваши требования не превышают базовую функциональность, Gitblit может стать для вас подходящим решением.
3. RhodeCode CE
RhodeCode CE — это популярная платформа для хостинга Git, которая также соответствует критериям низкой зависимости:
- Поддержка больших репозиториев: Несмотря на использование Elasticsearch в Enterprise Edition, Community Edition имеет достаточно функциональности.
- Удобный интерфейс: RhodeCode предоставляет интуитивно понятный UI и поддержку функций, таких как форков и управления Pull-запросами.
- Разнообразие интеграций: RhodeCode легко интегрируется с такими инструментами, как Jira и Redmine для управления задачами.
- Контроль доступа: Платформа поддерживает гибкие настройки контроля доступа, позволяя управлять правами пользователей на уровне репозитория и ветки.
Несмотря на наличие коммерческой версии, RhodeCode CE остается открытым и бесплатным для использования, что создает баланс между бесплатными функциями и коммерческими услугами.
Заключение
Приведенные решения — это лишь небольшая часть из возможных платформ для хостинга Git с низкими накладными расходами. Gogs, Gitblit и RhodeCode CE — отличные выборы для тех, кто требует минимализма, надежности и открытого характера. Взвесьте свои бизнес-потребности и выберите наиболее подходящее решение для долгосрочного хостинга Git-репозиториев.