Статьи

GitHub против GitLabs против BitBucket Server (ранее Stash)

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

GitHub

GitHub-логотип GitHub имеет отличный, интуитивно понятный, информативный и, для многих, знакомый пользовательский интерфейс. Его большое преимущество заключается в том, что большинство из нас уже использовали GitHub.com (если не в качестве хранилища, то, по крайней мере, для клонирования кого-либо кода или для просмотра фрагментов). Если они установлены на наших собственных серверах, большинство разработчиков будут чувствовать себя как дома. Он включает интеграцию LDAP, интеграцию с JIRA и многие другие функции, важные для современных компаний. Вам вряд ли понадобится то, чего нет у GitHub. Помимо «корпоративных функций», он имеет Gists (способ обмена фрагментами кода), возможность редактировать файлы непосредственно из браузера (удобно при записи заметок во время встречи), работает практически с любым облачным провайдером, имеет мощный поиск , и так далее. Он поставляется с собственной Wiki и системой отслеживания ошибок. Во многих случаях этого достаточно для многих нужд. Если это не так, это может быть легко связано с Jenkins, JIRA, Confluence, BugZilla, Trello и многими другими продуктами. Может использоваться как полный пакет или в сочетании с другими. Проще говоря, GitHub — это золотой стандарт для хранилищ кода. Поскольку все так хорошо, мы можем просто закончить сейчас, чтобы вы могли зайти на их сайт и заплатить огромную сумму за лицензии и установить его. Однако именно здесь начинают накапливаться проблемы, особенно если вы еще не оценили альтернативы.

Первое удивление приходит, когда вы обнаружите, что цены нигде не найти. Вам необходимо запросить цитату. В большинстве случаев это признак того, что цены высоки (или, по крайней мере, выше, чем у аналогичных продуктов). Я не буду приводить здесь точную цену, поскольку она зависит от различных переменных, но достаточно сказать, что она стоит дороже, чем другие решения. Стоит ли оно того? Подождите, пока мы не доберемся до GitLab.

Еще одна проблема — установка. GitHub обеспечивает установку для различных облачных провайдеров или виртуальных машин, которые вы можете запускать на своих собственных серверах. Я был действительно удивлен, когда обнаружил это, так как это не соответствовало моим предположениям о причинах, которые люди имеют при рассмотрении GitHub Enterprise Edition. Если бы я хотел, чтобы он работал в одном из облачных провайдеров, я бы просто купил частные аккаунты на GitHub.com. С другой стороны, если я захочу установить его на свои собственные серверы, предварительно подготовленная виртуальная машина — это не вариант, с которым мне удобно. Установка на моих серверах означает, что я (или кто-то из организации) должен контролировать. Может быть, я использую VMWare или, возможно, я хотел бы запустить его прямо на сервере. Может быть, я хотел бы знать шаги установки. Может быть, я бы даже хотел, чтобы он был развернут как контейнер Docker. Независимо от выбора, мне нужно контролировать, и наличие готового образа виртуальной машины не соответствует этой потребности. Это не значит, что готовая ВМ не пригодится. В некоторых случаях это будет, а в других — нет.

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

GitLab

gitlab-логотип Давайте начнем с простого утверждения. GitLab имеет (почти) все, что делает GitHub. Функции более или менее одинаковы (за очень немногими исключениями), а пользовательский интерфейс такой же великолепный, как и у GitHub. Если вы зайдете на сайт GitLab, вам будет трудно не думать, что вы находитесь в GitHub. Нужно было бы очень усердно искать что-то значимое, что есть у GitHub, а у GitLab нет, поэтому давайте пропустим то, что отличает GitLab от GitHub.

GitLab Community Edition является бесплатным и открытым исходным кодом. Это само по себе дает огромный импульс по сравнению с GitHub Enterprise Edition (единственной версией, которая может быть установлена ​​на месте). Хотя некоторые функции доступны только в корпоративной версии, они могут вам не понадобиться, и даже если вы это сделаете, это облегчит решение, зная, что вы сможете начать с бесплатной версии и позже перейти на платную. Это не значит, что у GitHub нет пробной версии. Оно делает. Но, как идут испытания, это в течение ограниченного периода времени, который может или не может быть достаточно. С GitLab Community Edition вы можете быть в порядке до конца времени, или вы можете начать с корпоративной версии прямо сейчас. Хорошо, что у вас есть выбор, который не истекает.

Цены на корпоративную версию разумны (в несколько раз ниже, чем с GitHub). В отличие от GitHub, GitLab может быть установлен практически на любую комбинацию оборудования / ОС / CM. Облачные провайдеры, виртуальные машины, непосредственно на сервере, Linux, Windows, Puppet, Chef и так далее. Смею вас найти комбинацию, которую вы хотели бы использовать, которая не поддерживается GitLab. Они даже поддерживают образы Docker. Более того, установка очень проста. Это показывает силу открытого источника с бесконечными комбинациями, о которых придумало сообщество

Давайте двигаться дальше и посмотрим на третьего участника.

BitBucket Server (ранее Stash)

скачать Короткая история, что я не рекомендую это. Он не имеет никаких преимуществ по сравнению с двумя другими (за исключением, может быть, интеграции с другими продуктами Atlassian), его пользовательский интерфейс ужасен (из-за отсутствия лучших слов), и это огромное и медленное приложение, которое быстро пожирает ваши ресурсы. Тем не менее, он обладает большой маркетинговой силой благодаря остальным продуктам Atlassian. Предложения JIRA, Confluence, Bamboo и другие Atlassian очень популярны и присутствуют во многих компаниях. Это делает BitBucket Server очень заманчивым выбором. Однако не все продукты Atlassian действительно хороши, поскольку BitBucket Server и Bamboo входят в группу тех, что сделали мою жизнь сложнее, чем она должна быть. Интерфейсу не хватает информации, которую я ожидал найти (на самом деле информация есть, но не там, где она должна быть), и она настолько неинтуитивна, насколько это возможно. Нет возможности фиксировать фрагменты кода (называемые Gists в GitHub) и нет редактирования в строке. Это оставляет нас с интеграцией с другими продуктами в качестве причины для покупки. Правильно? Неправильно! Я не видел ничего в Stash (теперь я буду использовать более старое и более короткое имя), которое было бы проще настроить, чем в GitHub или GitLab. Интеграция с Jira проста во всех из них (я не пробовал интегрироваться с остальными продуктами Atlassian, так что я могу ошибаться). Конечно, если вы — компания, делающая все, что делает Atlassian, то Stash не представляет никакой сложности. Там, где есть место для JIRA, Confluence, Bamboo, HipChat, а что нет, там есть место и для Stash. Но опять же, тот факт, что вы читаете эту статью, вероятно, означает, что вы не в этой группе.

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

Помимо (сомнительного) ценового преимущества и желания иметь все, что есть у Atlassian, нет никаких оснований выбирать Stash.

Окончательный вердикт

Если цена не является проблемой, вы не возражаете против закрытого источника, у вас все в порядке с его вариантами установки и вы хотите довериться самому большому и самому большому, выберите GitHub Enterprise Edition.

Если вы должны иметь все Atlassian, выберите BitBucket Server.

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

Наконец, если вы хотите попробовать его и установить Docker, просто запустите следующую команду, и вы сразу же увидите ее в действии.

1
2
3
4
5
6
7
8
docker run -d --name gitlab-ce \
    -p 8443:443 \
    -p 8080:80 \
    -p 2222:22 \
    --volume $PWD/gitlab/config:/etc/gitlab \
    --volume $PWD/gitlab/logs:/var/log/gitlab \
    --volume $PWD/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce
Ссылка: GitHub против GitLabs против BitBucket Server (ранее Stash) от нашего партнера по JCG Виктора Фарчича в блоге по технологиям .