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

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

GitLab Community Edition является бесплатным и открытым исходным кодом. Это само по себе дает огромный импульс по сравнению с GitHub Enterprise Edition (единственной версией, которая может быть установлена на месте). Хотя некоторые функции доступны только в корпоративной версии, они могут вам не понадобиться, и даже если вы это сделаете, это облегчит решение, зная, что вы сможете начать с бесплатной версии и позже перейти на платную. Это не значит, что у GitHub нет пробной версии. Оно делает. Но, как идут испытания, это в течение ограниченного периода времени, который может или не может быть достаточно. С GitLab Community Edition вы можете быть в порядке до конца времени, или вы можете начать с корпоративной версии прямо сейчас. Хорошо, что у вас есть выбор, который не истекает.
Цены на корпоративную версию разумны (в несколько раз ниже, чем с GitHub). В отличие от GitHub, GitLab может быть установлен практически на любую комбинацию оборудования / ОС / CM. Облачные провайдеры, виртуальные машины, непосредственно на сервере, Linux, Windows, Puppet, Chef и так далее. Смею вас найти комбинацию, которую вы хотели бы использовать, которая не поддерживается GitLab. Они даже поддерживают образы Docker. Более того, установка очень проста. Это показывает силу открытого источника с бесконечными комбинациями, о которых придумало сообщество
Давайте двигаться дальше и посмотрим на третьего участника.
BitBucket Server (ранее 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 Виктора Фарчича в блоге по технологиям . |