Платформа для самохостинга Git с низкими накладными расходами

Вопрос или проблема

Здесь есть множество вопросов о заменах GitHub.

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

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

Есть ли рекомендации по альтернативе GitHub с низкими зависимостями и самохостингом? Только с открытым исходным кодом, и Linux обязателен (например, Gitstack не подходит).

Мой список желаемого:

  1. Низкие зависимости. В частности, без Ruby, PHP, Node.js или Elasticsearch.

  2. Хороший веб-интерфейс для Git с возможностями форкинга и пулл-запросов. Редактирование кода в браузере не требуется.

  3. Отслеживание проблем – это плюс, но не обязательно (но обычно пулл-запросы подразумевают какое-то управление проблемами).

  4. Контроль доступа. По крайней мере, на уровне репозитория, желательно на уровне ветки. Должны поддерживаться частные и публичные репозитории.

  5. Работает со стандартными инструментами, а не с ненадежными модными инструментами, которые исчезают в никуда через год.

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

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

Мне довольно понравился Gitblit. Он требует Java, но это буквально единственная зависимость. Он полностью самодостаточен, если вы не хотите настраивать свой собственный контейнер Servlet и настраивать его самостоятельно, что также возможно.

На данный момент Gogs (https://github.com/gogits/gogs) может быть хорошим ответом для вас. Он написан на Go, имеет низкие зависимости, низкие требования к ресурсам, единый бинарный файл, немного конфигурации, нет модных функций, но очень надежен.

RhodeCode хорошо работает для нас.

Что касается вашего списка желаемого:

Низкие зависимости. В частности, без Ruby, PHP, Node.js или
Elasticsearch. Никаких притворств, что это большие данные; репозитории Git, превышающие 1 ГБ, по сути сломаны.

RhodeCode использует Elasticsearch, что отлично в нашем случае, так как у нас есть старые репозитории размером более 25 Гб.

Хороший веб-интерфейс для Git с возможностями форкинга и пулл-запросов. Редактирование кода в браузере не требуется.

У него аккуратный интерфейс, с возможностью редактирования кода в браузере.
Интерфейс RhodeCode

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

Мы используем 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-репозиториев.

Оцените материал
Добавить комментарий

Капча загружается...