ZaLinux.ru

Лучшие альтернативы GitHub

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

Обратите внимание: в этой статье перечислены альтернативы Github в качестве платформы управления и контроля версий. Большинство из них будут иметь аналогичные функции отслеживания проблем, но если вы ищете что-то вроде функций управления Github, вы можете рассмотреть возможность использования Jira или Azure DevOps.

Примечание автора: на самом деле мы используем Github и не планируем менять его на что-либо ещё — это материал для расширения кругозора.

GitLab

GitLab — ближайший прямой конкурент GitHub, которого вы найдёте. Он имеет очень похожий интерфейс и позволяет создавать неограниченное количество публичных и частных репозиториев. И хотя в нем есть несколько подробных инструментов, он по-прежнему работает в основном так же, поэтому вы найдёте переход на GitLab довольно простым.

Однако GitLab — это не просто клон GitHub. Он в большей степени ориентирован на рабочий процесс DevOps со встроенными инструментами непрерывной интеграции и поддержкой конвейеров. В GitLab ваш инструмент CI/CD такой же, как и ваш исходный элемент управления. Это распространённая тема среди альтернатив GitHub, поскольку это одна из областей, на которой GitHub не уделяет особого внимания.

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

BitBucket

BitBucket — это решение для git, размещённое в Atlassian. Он работает крупно, как GitHub или GitLab, но больше подходит для частных репозиториев. Вы можете сделать их общедоступными, но это не является основной задачей, поскольку BitBucket не имеет функции «Исследовать».

Сам интерфейс чистый и всё организовано с помощью боковой панели:

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

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

AWS CodeCommit

Сервис AWS CodeCommit — это репозиторий git со множеством интеграций с экосистемой AWS. Поскольку это хорошая альтернатива GitHub, интерфейс немного неуклюжий, так как он страдает от дизайна пользовательского интерфейса AWS. Однако его можно использовать.

Лучшая часть CodeCommit — это интеграция с EC2 и Lambda. Поскольку система управления версиями находится на той же платформе, что и ваши серверы, автоматизировать конвейер развёртывания легко. CodeCommit имеет параметры для запуска тестов перед развёртыванием, таких как развёртывание на одном сервере за раз, на половине серверов или на всех сразу. Вы также можете напрямую обновить исходный код лямбда-функций.

AWS CodeCommit может быть не лучшим сервисом git для использования в качестве основного источника контроля, но его, безусловно, хорошо использовать для автоматизации развёртывания кода на EC2 или Lambda. При такой настройке вы будете использовать два remote — когда код будет готов к развёртыванию, вы будете передавать изменения со своего основного remote на CodeCommit.

Смотрите также: Как использовать git с несколькими удалёнными репозиториями

Другие инструменты управления версиями: TFVC, Perforce и Subversion

В то время как другие варианты в этом списке используют git под капотом, стоит упомянуть альтернативы самому git.

Perforce — это централизованная система управления версиями. git распространяется; локальные репозитории каждого связаны друг с другом только через remote. У этой модели много ограничений, особенно с огромными репозиториями. Вы же не хотите, чтобы каждый сотрудник имел доступ к вашему полному исходному коду. Perforce справляется с этими проблемами лучше, чем git.

Perforce (и другие не Git варианты) также намного лучше справляются с обработкой больших двоичных файлов, с чем git справляется с трудом. Большинство размещённых поставщиков git, включая GitHub, будут ограничивать размер файлов до менее 100 МБ, чтобы сократить расходы на хранение, а также в первую очередь препятствовать использованию больших файлов. Расширение, называемое Git Large File Storage, решает проблему, сохраняя большие файлы на отдельном сервере, но это не идеальное решение.

Существуют и другие варианты управления версиями, отличные от Git, такие как Team Foundation Version Control (TFVC), Subversion и Mercurial. Большинство из них требуют, чтобы вы установили и запустили их самостоятельно; BitBucket раньше поддерживал репозитории Mercurial, но недавно они отказались от их использования.

Запуск своего Git-сервера

Другой вариант — разместить его самостоятельно. Весь GitHub (или любая другая служба в этом списке) — это веб-интерфейс для управления сервером git. Этот git-сервер — это просто remote, который действует как официальная ссылка для локальных репозиториев git. Вы можете запустить свой собственный сервер git, используя готовую установку git, которая есть в большинстве дистрибутивов Linux, и подключиться к нему, вместо того, чтобы размещать его у кого-то другого.

Вы можете прочитать наше руководство по настройке, чтобы узнать больше, или вы можете прочитать наше руководство по настройке GitLab Community Edition, которое позволяет вам разместить свой собственный сервер git, сохраняя при этом веб-интерфейс.

Хотя отсутствие доступа через Интернет — это своего рода недостаток, если у всех есть git-клиент с графическим интерфейсом или достаточно знаний о терминале, это может быть жизнеспособной альтернативой. Следует отметить, что если вы размещаете сервер самостоятельно, вы несёте ответственность за хранящиеся на нём данные. В любом случае вам не следует использовать поставщика git в качестве резервной копии, но если он находится в вашем собственном облаке, вам нужно должным образом позаботиться о сервере.

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *