Jak mogę mieć Github na swoim serwerze?

98

Czy jest coś takiego jak Github, który jest przeznaczony dla twojego własnego lokalnego serwera? Ciekaw jestem, czy istnieje skrypt PHP, a nawet klient desktopowy, który naśladuje funkcjonalność Githuba. Uwielbiam Github, ale fajnie byłoby hostować na własnym serwerze.

Przepraszamy, jeśli nie jest to wystarczająco uważane za „programowanie”, ale generalnie tylko programiści używają GIT i Github


Aktualizacja

Przede wszystkim dziękuję za wszystkie świetne sugestie, wspaniale jest widzieć, że są tam opcje. Z tego, co tu opublikowałem i z mojego googlowania, mogę powiedzieć, że najlepiej wyglądające / najbardziej podobne do Github rozwiązania są kodowane w Rubim, co jest świetne dla niektórych, ale jestem typem faceta w stylu PHP (na razie).

Większość przeglądarek PHP GIT jest albo przestarzałymi i porzuconymi projektami, albo po prostu wyglądają jak bzdury (zdaję sobie sprawę, że mógłbym je naprawić, aby bardziej przypominały Github), ale natknąłem się na coś w PHP, które jak dotąd wygląda obiecująco. Nazywa się Glip i jest na Github tutaj https://github.com/patrikf/glip i jest to dla mnie najbardziej atrakcyjne i łatwe w użyciu rozwiązanie, jakie do tej pory znalazłem dla PHP. Dla zaawansowanego użytkownika Git może to nie wystarczyć, ale dla mnie chciałem po prostu mieć możliwość przeglądania repozytorium git i to zapewnia taką funkcjonalność.

Teraz nadal szukam idealnego rozwiązania, czy kiedykolwiek je znajdę? Mam nadzieję, że tak, ale na razie to mamy. Rozważam napisanie własnego, atrakcyjnego, jak Github i posiadającego inne funkcje, takie jak narzędzie do śledzenia błędów i żądań funkcji. Wszystkie te, które do tej pory widziałem, nie są tak dobre

JasonDavis
źródło
1
Dlaczego chcesz go hostować na własnym serwerze? Serwery Github są bardzo szybkie i niezawodne.
maček
57
Prawdopodobnie dlatego, że nie chce korzystać z usługi innej firmy. Jest coś do powiedzenia na temat przechowywania danych przy sobie.
Noufal Ibrahim,
1
głównie po to, aby uruchomić go z mojego serwera
deweloperskiego
Nie możesz mieć githuba, ale możesz używać skryptów hostujących git, takich jak gitolite, gitosis lub gitorious.
CodesInChaos,
8
A może dlatego, że Microsoft kupił Github.
keji

Odpowiedzi:

74

Istnieje GitHub Enterprise, który zaspokoi Twoje potrzeby. Jest też „klon” Github Enterprise o otwartym kodzie źródłowym .

PS: Teraz Github zapewnia nieograniczoną liczbę prywatnych repozytoriów, bitbucket robi to samo. możesz spróbować obu. Jest też kilka innych rozwiązań.

manojlds
źródło
1
Właśnie zdałem sobie sprawę, że to Ruby, ale jest naprawdę fajny
JasonDavis
11
Możesz uruchomić GitLab za darmo na własnym serwerze. GitHub Enterprise kosztuje dużo pieniędzy.
Job
Gitea i Gogs wyglądają jak GitHub. Twoja odpowiedź pochodzi z 2011 roku i wydaje się być nieaktualna
SomethingSomething
31

Jestem dość zaskoczony, że nikt nie wspomniał o gogach projektu open-source (http://gogs.io) ani o jego pochodnej zwanej gitea (http://gitea.io), która w zasadzie oferuje to samo, co gitlab, ale z minimalne zasoby systemowe (niewielkie rozmiary), idealne do uruchomienia na przykład w Raspberry Pi. Instalacja i konserwacja są również znacznie prostsze.

marc
źródło
12

Masz wiele możliwości uruchomienia własnego serwera git,

  1. Serwer Bitbucket

    Bitbucket Server nie jest darmowy, ale nie jest drogi. Kosztuje Cię tylko jeden raz (na razie 10 $). Bitbucket to fajna opcja, jeśli chcesz mieć trwałe rozwiązanie.

  2. Gitea ( https://gitea.io/en-us/ )

    Gitea to projekt open source. Jest wieloplatformowy i lekki. Możesz go używać bez żadnych kosztów. pierwotnie rozwidlony z Gogs ( http://gogs.io ). Jest to lekkie rozwiązanie do hostowania kodu napisane w języku Golang i wydane na licencji MIT. Działa na systemach Windows, macOS, Linux, ARM i nie tylko.

  3. Gogs ( http://gogs.io )

    Gogs to samodzielnie hostowany projekt open source mający około 32 000 gwiazdek na githubie. Możesz skonfigurować Gogs bez żadnych kosztów.

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

    GitLab to bezpłatne oprogramowanie typu open source do zarządzania repozytoriami Git w sieci WWW. Posiada wiki, śledzenie problemów i inne funkcje. Kod został pierwotnie napisany w języku Ruby, a niektóre części zostały później przepisane w języku Golang. GitLab Community Edition (CE) to kompleksowa platforma programistyczna typu open source z wbudowaną kontrolą wersji, śledzeniem problemów, przeglądem kodu, CI / CD i nie tylko. Samodzielnie hostuj GitLab CE na własnych serwerach, w kontenerze lub u dostawcy chmury.

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

    GNU Savannah jest darmowym oprogramowaniem o otwartym kodzie źródłowym autorstwa Free Software Foundation. Obecnie oferuje usługi CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, listy mailingowe, hosting WWW, hosting plików i usługi śledzenia błędów. Jednak to oprogramowanie nie jest przeznaczone dla nowych użytkowników. Konfiguracja i opanowanie wszystkiego zajmuje trochę czasu.

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

    GitPrep to klon Github. możesz zainstalować przenośny system GitHub w systemie UNIX / Linux. Możesz tworzyć użytkowników i repozytoria bez ograniczeń. To jest darmowe oprogramowanie.

  7. Kallithes ( https://kallithea-scm.org/ )

    Kallithea, projekt członkowski Software Freedom Conservancy, jest systemem zarządzania kodem źródłowym Wolnego Oprogramowania na licencji GPLv3, który obsługuje dwa wiodące systemy kontroli wersji, Mercurial i Git, oraz posiada interfejs sieciowy, który jest łatwy w użyciu dla użytkowników i administratorów. Możesz zainstalować Kallithea na własnym serwerze i repozytoriach hosta dla wybranego systemu kontroli wersji.

  8. Tuleap ( https://www.tuleap.org/ )

    Tuleap to programowanie i zwinne zarządzanie All-in-one, w 100% Open Source. Możesz go zainstalować na serwerze docker lub CentOS.

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

    Phabricator to oprogramowanie typu open source, które można bezpłatnie pobrać i zainstalować lokalnie na własnym sprzęcie. Instalacja typu open source to pełna instalacja z pełnym zestawem funkcji.

Kiran Maniya
źródło
10

Istnieje kilka alternatyw open source:

RyanWilcox
źródło
1
RhodeCode obecnie nie jest głównie oparty na Mercurial, funkcjonalność Git vs Mercurial jest teraz 1: 1
marcinkuzminski
2
Rhodecode nie jest tak naprawdę otwartym kodem źródłowym. GitLab to MIT.
Job
6

powinieneś sprawdzić ten: http://gitlist.org/ .

Jest napisany w PHP tak, jak chciałeś.

Daniel M. Melo
źródło
4

Szukałem też implementacji git PHP, ale bez rezultatów. Jedynym sposobem ponownego stworzenia witryny podobnej do GitHub jest skonfigurowanie „prawdziwego” serwera git na własnym serwerze, a następnie użycie klienta WWW PHP git, takiego jak http://www.xiphux.com/programming/gitphp/ .

Niestety, możesz o tym zapomnieć dzięki rozwiązaniu hostingowemu. Potrzebujesz prawdziwego wirtualnego serwera, na którym możesz zainstalować wszystko, co chcesz.

Jeśli jednak potrzebujesz miejsca, w którym przechowujesz osobisty, niepubliczny, niedostępny dla każdego kod projektu, możesz wypróbować BitBucket. Oferuje bezpłatne prywatne i współdzielone repozytoria git.

lorenzo-s
źródło
na razie chcę głównie dla mojego serwera
deweloperskiego,
4

Atlassian's Stash (teraz nazywany BitBucket Server) staje się dobrą alternatywą dla Github Enterprise. Jestem trochę dziwką JIRA, więc podoba mi się integracja, którą masz z tym.

grumpasaurus
źródło
9
Jesteś JIRA co?
Ruby Racer
@RubyRacer Myślę, że to powinno być, kto jest :)
Alex Ivasyuv
//, Tyle że nie możesz cofnąć scalenia PR. Co możesz, w GH. Dzięki Stash okresowo traciłbym około 8 godzin życia na kontrakcie z dużym producentem zaawansowanych technologii.
Nathan Basanese
3

Tak, istnieje GitHub Enterprise :)

https://enterprise.github.com

Jedynym problemem jest to, że jest trochę drogie :(

Stuart Golodetz
źródło
1
aktualizacja 2020 - masz teraz nieograniczoną liczbę współpracowników w prywatnych repozytoriach w ramach planu GitHub Free. Miesięczne ceny naszego planu Pro zostały obniżone z 7 USD / miesiąc do 4 USD / miesiąc. Miesięczny koszt naszego płatnego planu Team został obniżony z 9 USD na użytkownika do 4 USD na użytkownika.
wojownik
3

Próbowałem gitosis, która jest w pełni wierszem poleceń. I wybrałem ten.

Będąc facetem od Javy, z zainteresowaniem spojrzałem również na Gitblit .

Luigi R. Viggiano
źródło
2

Jakich funkcji w Github szukasz?

Jeśli nie chcesz współpracy, żądań ściągnięcia itp., Ale po prostu chcesz, aby Twoje własne repozytoria były widoczne, git instawebstworzymy coś dla Ciebie.

Noufal Ibrahim
źródło
Tak, po prostu lubię łatwo przeglądać kod źródłowy
JasonDavis,
Git instaweb powinien być wtedy więcej niż wystarczający. Dostajesz dużo więcej szczegółów niż domyślny widok github, ale jest to mniej "web 2.0".
Noufal Ibrahim,
1

Możesz uruchomić Git (nie cały Github) za pośrednictwem serwera Apache HTTP, dzięki czemu możesz hostować repozytorium Git w systemie plików swojego serwera i udostępniać je przez HTTP. Otrzymujesz wszystkie funkcje Gita, ale oczywiście nie będziesz w staniepull-request śledzić problemów. Dowolne narzędzie podłączone do Twojego repozytorium Git na własnym serwerze może zaimplementować pozostałe funkcje.

Źródła: http://git-scm.com/docs/git-http-backend

usr-local-ΕΨΗΕΛΩΝ
źródło
Jeśli możesz, gorąco polecam tę trasę. Hostując usługę samodzielnie, nie jesteś zależny od stron trzecich.
Phil
0

Możesz także zainstalować Trac . To więcej niż serwer Git, ma inne funkcje, takie jak zarządzanie zgłoszeniami i zarządzanie projektami. Ma również możliwość rozszerzenia go za pomocą wtyczek.

Werner Faruk
źródło