Как я могу установить Github на моем собственном сервере?

98

Есть ли что-нибудь вроде Github для вашего локального сервера? Мне любопытно, есть ли PHP-скрипт или даже настольный клиент, который имитирует функциональность Github, я люблю Github, но было бы неплохо разместить его на моем собственном сервере.

Приносим извинения, если этого недостаточно для «программирования», но обычно только программисты используют GIT и Github.


Обновить

Прежде всего, спасибо за все отличные предложения, приятно видеть, что есть варианты. Из того, что размещено здесь, и из моего поиска в Google, я могу сказать, что похоже, что наиболее привлекательные / наиболее похожие на решения Github решения написаны на Ruby, что отлично подходит для некоторых, но я парень типа PHP (на данный момент).

Большинство программ просмотра PHP GIT либо являются устаревшими и заброшенными проектами, либо просто выглядят как дерьмо (я понимаю, что мог бы исправить их, чтобы они были больше похожи на Github), но я наткнулся на кое-что в PHP, которое пока выглядит многообещающим. Он называется Glip, он находится на Github здесь https://github.com/patrikf/glip, и для меня это наиболее привлекательное и простое в использовании решение для PHP, которое я нашел на данный момент. Для опытного пользователя Git этого может быть недостаточно, но для меня я просто хотел иметь возможность просматривать репозиторий git, который предоставляет эту функциональность.

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

ДжейсонДэвис
источник
1
Почему вы хотите разместить его на своем собственном сервере? Серверы Github очень быстрые и надежные.
maček 05
58
Возможно, потому что он не хочет использовать сторонний сервис. Есть кое-что, что нужно сказать о том, чтобы хранить свои данные при себе.
Нуфал Ибрагим
1
в основном для того, чтобы я мог запускать его с моего сервера разработки
JasonDavis
У вас не может быть github, но вы можете использовать сценарии хостинга git, такие как gitolite, gitosis или gitorious.
CodesInChaos 05
8
Или, возможно, потому, что Microsoft купила Github.
keji 05

Ответы:

74

Есть GitHub Enterprise, чтобы удовлетворить ваши потребности. И есть «клон» Github Enterprise с открытым исходным кодом .

PS: Теперь Github предоставляет неограниченное количество частных репозиториев, bitbucket делает то же самое. вы можете попробовать оба. Также есть несколько других решений.

Manojlds
источник
1
Только что понял, что это Руби, хотя это действительно мило
JasonDavis
11
Вы можете бесплатно запустить GitLab на своем сервере. GitHub Enterprise стоит больших денег.
Job
Gitea и Gogs выглядят точно так же, как GitHub. Ваш ответ датируется 2011 годом и кажется устаревшим
SomethingSomething
31

Я очень удивлен, что никто не упомянул gogs проекта с открытым исходным кодом (http://gogs.io) или его производную вилку под названием gitea (http://gitea.io), которая в основном предлагает то же, что делает gitlab, но с минимальные системные ресурсы (низкая занимаемая площадь), идеально подходят для работы, например, на Raspberry Pi. Установка и обслуживание также намного проще.

Марк
источник
12

У вас есть много вариантов для запуска собственного сервера git,

  1. Сервер Bitbucket

    Bitbucket Server платный, но и недорогой. Это стоит вам только один раз (на данный момент 10 $). Bitbucket - хороший вариант, если вам нужно долгосрочное решение.

  2. Гитеа ( https://gitea.io/en-us/ )

    Gitea - это проект с открытым исходным кодом. Он кроссплатформенный и легкий. Вы можете использовать его бесплатно. изначально разветвлен от Gogs ( http://gogs.io ). Это облегченное решение для хостинга кода, написанное на Golang и выпущенное под лицензией MIT. Он работает в Windows, macOS, Linux, ARM и других.

  3. Очки ( http://gogs.io )

    Gogs - это автономный проект с открытым исходным кодом, имеющий около 32 тысяч звезд на github. Вы можете установить Gogs бесплатно.

  4. GitLab ( https://gitlab.com/ )

    GitLab - бесплатное программное обеспечение для управления репозиториями Git с открытым исходным кодом. У него есть вики, отслеживание проблем и другие функции. Первоначально код был написан на Ruby, а некоторые части позже были переписаны на Golang. GitLab Community Edition (CE) - это платформа для сквозной разработки программного обеспечения с открытым исходным кодом, со встроенным контролем версий, отслеживанием проблем, обзором кода, CI / CD и т. Д. Самостоятельно разместите GitLab CE на своих серверах, в контейнере или у облачного провайдера.

  5. GNU Savannah ( https://savannah.gnu.org/ )

    GNU Savannah - это бесплатное программное обеспечение с открытым исходным кодом от Free Software Foundation. В настоящее время он предлагает CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, список рассылки, веб-хостинг, хостинг файлов и службы отслеживания ошибок. Однако это программное обеспечение не для новых пользователей. Требуется немного времени на настройку и освоение всего.

  6. GitPrep ( http://gitprep.yukikimoto.com/ )

    GitPrep - это клон Github. вы можете установить портативную систему GitHub в UNIX / Linux. Вы можете создавать пользователей и репозитории без ограничений. Это бесплатное программное обеспечение.

  7. Каллитес ( https://kallithea-scm.org/ )

    Kallithea, участник проекта Software Freedom Conservancy, представляет собой систему управления исходным кодом свободного программного обеспечения под GPLv3, которая поддерживает две ведущие системы контроля версий, Mercurial и Git, и имеет веб-интерфейс, простой в использовании для пользователей и администраторов. Вы можете установить Kallithea на свой собственный сервер и разместить репозитории для выбранной вами системы контроля версий.

  8. Тулеап ( https://www.tuleap.org/ )

    Tuleap - это комплексное решение для разработки программного обеспечения и гибкого управления со 100% открытым исходным кодом. Вы можете установить его на докере или сервере CentOS.

  9. Phacility ( https://www.phacility.com/ )

    Phabricator имеет открытый исходный код, и вы можете бесплатно загрузить и установить его локально на собственном оборудовании. Установка с открытым исходным кодом - это полная установка с полным набором функций.

Киран Мания
источник
10

Есть несколько альтернатив с открытым исходным кодом:

Райан Уилкокс
источник
1
RhodeCode в настоящее время в основном не основан на ртути, функциональность git vs mercurial теперь составляет 1: 1
marcinkuzminski
2
Rhodecode на самом деле не является открытым исходным кодом. GitLab - это Массачусетский технологический институт.
Job
6

вам следует проверить это: http://gitlist.org/ .

Он написан на PHP так, как вы хотели.

Дэниел М. Мело
источник
5

Если вам нужен GitHub, существует уже упоминавшаяся корпоративная версия.

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

https://github.com/sitaramc/gitolite
https://github.com/sitaramc/gitolite/wiki/

Пабло Маурин
источник
Спасибо, мне просто нравится внешний вид Github, не обязательно быть github
JasonDavis
4

Я тоже искал реализации git PHP, но безрезультатно. Единственный способ воссоздать сайт, похожий на GitHub, - это установить «настоящий» сервер git на вашем собственном сервере, а затем использовать веб-клиент git PHP, например http://www.xiphux.com/programming/gitphp/ .

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

Однако, если вам нужно место для хранения личного, непубличного, недоступного для всех кода проекта, вы можете попробовать BitBucket. Он предлагает бесплатные частные и частные общие репозитории git.

Лоренцо
источник
в настоящее время я хочу в основном для своего сервера разработки, так что это может быть хорошо
JasonDavis
4

Atlassian's Stash (теперь называемый BitBucket Server) становится хорошей альтернативой Github Enterprise. Я немного проститутка JIRA, поэтому мне нравится интеграция, которая у вас есть.

ворчун
источник
9
Ты что из JIRA?
Ruby Racer,
@RubyRacer, я думаю, это должно быть кто есть :)
Alex Ivasyuv
//, за исключением того, что вы не можете отменить объединение PR. Что вы можете в GH. Благодаря Сташу я периодически терял около 8 часов своей жизни по контракту с крупным производителем высокотехнологичных автомобилей.
Натан Басанезе
3

Да, есть GitHub Enterprise :)

https://enterprise.github.com

Единственная проблема в том, что это дороговато :(

Стюарт Голодец
источник
1
обновление 2020 года - теперь у вас есть неограниченное количество соавторов в частных репозиториях в рамках вашего бесплатного плана GitHub. Ежемесячная стоимость нашего плана Pro снижена с 7 долларов в месяц до 4 долларов в месяц. Ежемесячная плата за наш платный план Team была снижена с 9 долларов за пользователя до 4 долларов за пользователя.
warfish
3

Я пробовал gitosis, который является полностью командной строкой. И я выбрал этот.

Я, как Java-парень, тоже с интересом посмотрел на Gitblit .

Луиджи Р. Виджиано
источник
2

Какие функции в github вы ищете?

Если вы не хотите сотрудничества, запросов на вытягивание и т. Д., Но просто хотите, чтобы ваши собственные репозитории были доступны для просмотра, git instawebмы создадим что-то для вас.

Нуфаль Ибрагим
источник
Да, мне просто нравится иметь возможность легко просматривать исходный код
JasonDavis
Тогда Git instaweb должно быть более чем достаточно. Вы получаете гораздо больше деталей, чем представление по умолчанию на github, но оно меньше "web 2.0".
Нуфал Ибрагим
2

В Community Edition отсутствуют многие функции импорта, такие как хуки. Я рекомендую геррит . Он легкий и с открытым исходным кодом.

clark.li
источник
3
Community Edition имеет веб-хуки, системные и настраиваемые хуки doc.gitlab.com/ce/web_hooks/web_hooks.html doc.gitlab.com/ce/api/system_hooks.html doc.gitlab.com/ce/hooks/custom_hooks. html
Sytse Sijbrandij
1

Вы можете запустить Git (а не весь Github) через HTTP-сервер Apache, чтобы вы разместили репозиторий Git в файловой системе своего сервера и открывали его через HTTP. Вы получаете все функции Git, но, очевидно, вы не сможете pull-requestотслеживать проблемы. Любой инструмент, прикрепленный к вашему репозиторию Git, может реализовать остальные функции.

Ссылка: http://git-scm.com/docs/git-http-backend

usr-local-ΛΩΝ
источник
Если можете, настоятельно рекомендую этот маршрут. Размещая услугу самостоятельно, вы не зависите от третьих лиц.
Фил
0

Также вы можете установить Trac . Это больше, чем сервер Git, у него есть другие функции, такие как управление билетами и управление проектами. Также есть возможность расширить его с помощью плагинов.

Вернер Фарук
источник