Comment puis-je avoir Github sur mon propre serveur?

98

Y a-t-il quelque chose comme Github qui soit pour votre propre serveur local? Je suis curieux de savoir s'il existe un script PHP ou même un client de bureau qui imite les fonctionnalités de Github, j'adore Github mais ce serait bien d'héberger sur mon propre serveur.

Toutes mes excuses si cela n'est pas considéré comme suffisamment «programmation», mais généralement seuls les programmeurs utilisent GIT et Github


Mettre à jour

Tout d'abord merci pour toutes les excellentes suggestions, c'est formidable de voir qu'il existe des options. D'après ce qui est publié ici et mes recherches sur Google, je peux dire qu'il semble que les solutions les plus recherchées / les plus similaires à Github soient codées en Ruby, ce qui est génial pour certains, mais je suis un type PHP (pour le moment).

La plupart des visualiseurs PHP GIT sont soit des projets obsolètes et abandonnés, soit ils ressemblent à de la merde (je me rends compte que je pourrais les réparer pour qu'ils ressemblent davantage à Github) mais j'ai rencontré quelque chose en PHP qui semble prometteur jusqu'à présent. Il s'appelle Glip, c'est sur Github ici https://github.com/patrikf/glip et pour moi c'est la solution la plus attrayante et la plus facile à utiliser que j'ai trouvée pour PHP jusqu'à présent. Pour l'utilisateur avancé de Git, cela n'est peut-être pas suffisant, mais pour moi, je voulais juste pouvoir afficher un dépôt git et qui fournit cette fonctionnalité.

Maintenant, ma recherche de la solution parfaite se poursuit, la trouverai-je un jour? Je l'espère mais, pour l'instant, c'est ce que nous avons. J'envisage d'écrire le mien, un qui soit attrayant comme Github et possède d'autres fonctionnalités comme un suivi des problèmes pour les demandes de bogues et de fonctionnalités. Tous ceux que j'ai vus jusqu'ici ne sont pas si bons

JasonDavis
la source
1
Pourquoi souhaitez-vous l'héberger sur votre propre serveur? Les serveurs de Github sont très rapides et fiables.
maček
53
Peut-être parce qu'il ne souhaite pas utiliser un service tiers. Il y a quelque chose à dire pour conserver vos données avec vous-même.
Noufal Ibrahim
1
principalement pour que je puisse l'exécuter à partir de mon serveur de développement
JasonDavis
Vous ne pouvez pas avoir github, mais vous pouvez utiliser des scripts d'hébergement git comme gitolite, gitosis ou gitorious.
CodesInChaos
7
Ou peut-être parce que Microsoft a acheté Github.
keji

Réponses:

74

Il existe GitHub Enterprise pour répondre à vos besoins. Et il existe un "clone" open source de Github Enterprise.

PS: Github fournit désormais des référentiels privés illimités, bitbucket fait de même. vous pouvez essayer les deux. Il existe également plusieurs autres solutions.

manojlds
la source
1
Je viens de réaliser que c'est Ruby, c'est vraiment sympa cependant
JasonDavis
11
Vous pouvez exécuter GitLab gratuitement sur votre propre serveur. GitHub Enterprise coûte beaucoup d'argent.
Emploi du
Gitea et Gogs ressemblent à GitHub. Votre réponse date de 2011 et semble obsolète
SomethingSomething
30

Je suis assez surpris que personne n'ait mentionné le projet open source gogs (http://gogs.io) ou un fork dérivé de celui-ci appelé gitea (http://gitea.io) qui offre fondamentalement la même chose que gitlab, mais avec ressources système minimales (faible encombrement), parfait pour fonctionner dans un Raspberry Pi par exemple. L'installation et la maintenance sont également beaucoup plus simples.

Marc
la source
10

Il existe quelques alternatives open source:

RyanWilcox
la source
1
RhodeCode actuellement n'est pas principalement basé sur mercurial, la fonctionnalité git vs mercurial est maintenant 1: 1
marcinkuzminski
2
Rhodecode n'est pas vraiment open source. GitLab est le MIT.
Emploi du
9

Vous avez beaucoup d'options pour exécuter votre propre serveur git,

  1. Serveur Bitbucket

    Bitbucket Server n'est pas gratuit, mais pas coûteux. Cela ne vous coûte qu'une seule fois (10 $ à partir de maintenant). Bitbucket est une bonne option si vous voulez une solution durable.

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

    Gitea c'est un projet open-source. C'est multiplateforme et léger. Vous pouvez l'utiliser sans aucun frais. à l'origine une fourchette de Gogs ( http://gogs.io ). Il s'agit d'une solution d'hébergement de code légère écrite en Golang et publiée sous la licence MIT. Cela fonctionne sur Windows, macOS, Linux, ARM et plus encore.

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

    Gogs est un projet auto-hébergé et open source ayant environ 32k étoiles sur github. Vous pouvez configurer les Gogs sans frais.

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

    GitLab est un logiciel de gestion de référentiel Git gratuit, open source et basé sur le Web. Il dispose d'un wiki, d'un suivi des problèmes et d'autres fonctionnalités. Le code a été initialement écrit en Ruby, certaines parties ont été réécrites plus tard en Golang. GitLab Community Edition (CE) est une plate-forme de développement logiciel open source de bout en bout avec contrôle de version intégré, suivi des problèmes, révision de code, CI / CD, etc. Auto-hébergez GitLab CE sur vos propres serveurs, dans un conteneur ou sur un fournisseur cloud.

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

    GNU Savannah est un logiciel libre et open source de la Free Software Foundation. Il offre actuellement des services CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, liste de diffusion, hébergement Web, hébergement de fichiers et suivi de bogues. Cependant, ce logiciel n'est pas destiné aux nouveaux utilisateurs. La configuration prend un peu de temps et maîtrise tout.

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

    GitPrep est un clone de Github. vous pouvez installer un système GitHub portable sous UNIX / Linux. Vous pouvez créer des utilisateurs et des référentiels sans limitation. C'est un logiciel gratuit.

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

    Kallithea, un projet membre de Software Freedom Conservancy, est un système de gestion de code source de logiciels libres GPLv3'd qui prend en charge deux principaux systèmes de contrôle de version, Mercurial et Git, et dispose d'une interface Web facile à utiliser pour les utilisateurs et les administrateurs. Vous pouvez installer Kallithea sur votre propre serveur et héberger des référentiels pour le système de contrôle de version de votre choix.

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

    Tuleap est un logiciel de développement et de gestion agile tout-en-un, 100% Open Source. Vous pouvez l'installer sur un docker ou un serveur CentOS.

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

    Phabricator est open source et vous pouvez le télécharger et l'installer localement sur votre propre matériel gratuitement. L'installation open source est une installation complète avec l'ensemble des fonctionnalités.

Kiran Maniya
la source
6

vous devriez vérifier celui-ci: http://gitlist.org/ .

Il est écrit en PHP comme vous le vouliez.

Daniel M. Melo
la source
4

J'ai aussi cherché des implémentations PHP git, mais sans résultats. La seule façon de recréer un site similaire à GitHub est de configurer un "vrai" serveur git sur votre propre serveur, puis d'utiliser un client Web PHP git comme http://www.xiphux.com/programming/gitphp/ .

Malheureusement, vous pouvez oublier de le faire avec une solution d'hébergement. Vous avez besoin d'un vrai serveur virtuel sur lequel vous pouvez installer tout ce que vous voulez.

Cependant, si vous avez besoin d'un endroit où stocker du code personnel, non public et non accessible à tous pour un projet, vous pouvez essayer BitBucket. Il propose des dépôts git privés et partagés gratuitement.

lorenzo-s
la source
pour le moment, je veux surtout pour mon serveur de développement, donc cela peut être bon
JasonDavis
4

Le Stash d'Atlassian (maintenant appelé BitBucket Server) est en train de devenir une bonne alternative à Github Enterprise. Je suis un peu une pute de JIRA, donc j'aime les intégrations que vous avez avec ça.

grumpasaurus
la source
9
Vous êtes un JIRA quoi?
Ruby Racer
@RubyRacer Je suppose que ça devrait être qui sont :)
Alex Ivasyuv
//, sauf que vous ne pouvez pas annuler la fusion des PR. Ce que vous pouvez, en GH. Grâce à Stash, je perdais périodiquement environ 8 heures de ma vie sur un contrat avec un grand constructeur automobile de haute technologie.
Nathan Basanese
3

Oui, il y a GitHub Enterprise :)

https://enterprise.github.com

Le seul problème est que c'est un peu cher :(

Stuart Golodetz
la source
1
la mise à jour 2020 - Vous disposez désormais d'un nombre illimité de collaborateurs dans des référentiels privés dans le cadre de votre forfait GitHub Free. Le prix mensuel de notre plan Pro a été réduit de 7 $ / mois à 4 $ / mois. Le prix mensuel de notre forfait Équipe payant est passé de 9 USD / utilisateur à 4 USD / utilisateur.
warfish
3

J'ai essayé la gitosis qui est entièrement en ligne de commande. Et j'ai choisi celui-ci.

Étant un gars de Java, j'ai également regardé avec intérêt Gitblit .

Luigi R. Viggiano
la source
2

Quelles fonctionnalités recherchez-vous dans github?

Si vous ne voulez pas la collaboration, les demandes d'extraction, etc. mais que vous voulez simplement que vos propres référentiels soient visibles, git instawebcréera quelque chose pour vous.

Noufal Ibrahim
la source
Ouais, j'aime à peu près pouvoir parcourir facilement le code source
JasonDavis
Git instaweb devrait alors être plus que suffisant. Vous obtenez beaucoup plus de détails que la vue par défaut de github mais c'est moins "web 2.0".
Noufal Ibrahim
1

Vous pouvez exécuter Git (pas tout Github) via Apache HTTP Server, de sorte que vous hébergiez le dépôt Git sur le système de fichiers de votre serveur et l'exposiez via HTTP. Vous bénéficiez de toutes les fonctionnalités de Git, mais vous ne pourrez évidemment paspull-request ou suivre les problèmes. Tout outil associé à votre dépôt Git auto-hébergé peut implémenter le reste des fonctionnalités.

Référence: http://git-scm.com/docs/git-http-backend

usr-local-ΕΨΗΕΛΩΝ
la source
Si vous le pouvez, je recommande vivement cet itinéraire. En hébergeant vous-même le service, vous n'êtes pas dépendant de tiers.
Phil
0

Vous pouvez également installer Trac . C'est plus qu'un serveur Git, il a d'autres fonctionnalités comme la gestion des tickets et la gestion de projet. Il a également la possibilité de l'étendre via des plugins.

Werner Faruk
la source