¿Cómo puedo tener Github en mi propio servidor?


98

¿Hay algo como Github que sea para su propio servidor local? Tengo curiosidad por saber si hay un script PHP o incluso un cliente de escritorio que imita la funcionalidad de Github, me encanta Github, pero sería bueno alojarlo en mi propio servidor.

Disculpas si esto no se considera suficiente "programación", pero generalmente solo los programadores usan GIT y Github


Actualizar

En primer lugar, gracias por todas las excelentes sugerencias, es genial ver que hay opciones disponibles. Por lo que se publica aquí y por mi búsqueda en Google, puedo decir que parece que las soluciones con mejor apariencia / más parecidas a Github están codificadas en Ruby, lo cual es genial para algunos, pero yo soy un tipo de PHP (por ahora).

La mayoría de los visores PHP GIT son proyectos obsoletos y abandonados o simplemente parecen una mierda (me doy cuenta de que podría arreglarlos para que se parezcan más a Github) pero encontré algo en PHP que parece prometedor hasta ahora. Se llama Glip, está en Github aquí https://github.com/patrikf/glip y para mí es la solución más atractiva y fácil de usar que he encontrado para PHP hasta ahora. Para el usuario avanzado de Git, puede que no sea suficiente, pero para mí, solo quería poder ver un repositorio de Git y eso proporciona esa funcionalidad.

Ahora mi búsqueda aún continúa por la solución perfecta, ¿la encontraré alguna vez? Eso espero pero, por ahora, esto es lo que tenemos. Estoy considerando escribir el mío, uno que sea atractivo como Github y tenga otras características como un rastreador de problemas para solicitudes de errores y características. Todos los que he visto hasta ahora no son tan buenos


1
¿Por qué quiere alojarlo en su propio servidor? Los servidores de Github son muy rápidos y fiables.
maček

54
Posiblemente porque no quiere utilizar un servicio de terceros. Hay algo que decir acerca de mantener sus datos consigo mismo.
Noufal Ibrahim

1
principalmente para poder ejecutarlo desde mi servidor de desarrollo
JasonDavis

No puede tener github, pero puede usar scripts de alojamiento de git como gitolite, gitosis o gitorious.
CodesInChaos

7
O posiblemente porque Microsoft compró Github.
keji

Respuestas:


74

Existe GitHub Enterprise para satisfacer sus necesidades. Y hay un "clon" de código abierto de Github Enterprise.

PD: Ahora Github proporciona repositorios privados ilimitados, bitbucket hace lo mismo. puedes probar ambos. También hay varias otras soluciones.



11
Puede ejecutar GitLab de forma gratuita en su propio servidor. GitHub Enterprise cuesta mucho dinero.
Trabajo

Gitea y Gogs se parecen a GitHub. Su respuesta es de 2011 y parece estar desactualizada
SomethingSomething

30

Estoy bastante sorprendido de que nadie haya mencionado el proyecto de código abierto gogs (http://gogs.io) o una bifurcación derivada del mismo llamado gitea (http://gitea.io) que básicamente ofrece lo mismo que hace gitlab, pero con recursos mínimos del sistema (espacio reducido), siendo perfecto para ejecutar en una Raspberry Pi, por ejemplo. La instalación y el mantenimiento también son mucho más sencillos.




9

Tienes muchas opciones para ejecutar tu propio servidor git,

  1. Servidor Bitbucket

    Bitbucket Server no es gratuito, pero no es caro. Le cuesta una sola vez (10 $ a partir de ahora). Bitbucket es una buena opción si desea una solución duradera.

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

    Gitea es un proyecto de código abierto. Es multiplataforma y ligero. Puedes usarlo sin ningún costo. originalmente bifurcado de Gogs ( http://gogs.io ). Es una solución de alojamiento de código ligera escrita en Golang y publicada bajo la licencia MIT. Funciona en Windows, macOS, Linux, ARM y más.

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

    Gogs es un proyecto de código abierto y autohospedado que tiene alrededor de 32k estrellas en github. Puede configurar los Gogs sin costo alguno.

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

    GitLab es un software de gestión de repositorios Git gratuito, de código abierto y basado en la web. Tiene una wiki, seguimiento de problemas y otras características. El código se escribió originalmente en Ruby, y algunas partes se reescribieron posteriormente en Golang. GitLab Community Edition (CE) es una plataforma de desarrollo de software de extremo a extremo de código abierto con control de versiones integrado, seguimiento de problemas, revisión de código, CI / CD y más. Autohospede GitLab CE en sus propios servidores, en un contenedor o en un proveedor de nube.

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

    GNU Savannah es un software gratuito y de código abierto de la Free Software Foundation. Actualmente ofrece CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, listas de correo, alojamiento web, alojamiento de archivos y servicios de seguimiento de errores. Sin embargo, este software no es para usuarios nuevos. Se necesita un poco de tiempo para configurarlo y dominarlo todo.

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

    GitPrep es un clon de Github. puede instalar el sistema portátil GitHub en UNIX / Linux. Puede crear usuarios y repositorios sin limitación. Este es un software gratuito.

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

    Kallithea, un proyecto miembro de Software Freedom Conservancy, es un sistema de gestión de código fuente de software libre GPLv3'd que admite dos sistemas de control de versiones líderes, Mercurial y Git, y tiene una interfaz web que es fácil de usar para usuarios y administradores. Puede instalar Kallithea en su propio servidor y repositorios de host para el sistema de control de versiones que elija.

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

    Tuleap es un todo en uno de desarrollo de software y gestión ágil, 100% de código abierto. Puede instalarlo en el servidor Docker o CentOS.

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

    Phabricator es de código abierto y puede descargarlo e instalarlo localmente en su propio hardware de forma gratuita. La instalación de código abierto es una instalación completa con el conjunto de funciones completo.




4

También busqué implementaciones de git PHP, pero sin resultados. La única forma de volver a crear un sitio similar a GitHub es configurar un servidor git "real" en su propio servidor y luego usar un cliente web PHP git como http://www.xiphux.com/programming/gitphp/ .

Desafortunadamente, puede olvidarse de hacer esto con una solución de alojamiento. Necesitas un servidor virtual real donde puedas instalar todo lo que quieras.

Sin embargo, si necesita un lugar donde almacenar código personal, no público y no accesible para todos para un proyecto, puede probar BitBucket. Ofrece repositorios de git privados y privados compartidos de forma gratuita.


por el momento, estoy queriendo principalmente para mi servidor de desarrollo, por lo que esto puede ser bueno
JasonDavis

4

Stash de Atlassian (ahora llamado BitBucket Server) está llegando a ser una buena alternativa a Github Enterprise. Soy un poco puta de la JIRA, así que me gustan las integraciones que tienes con eso.


9
Eres una JIRA, ¿qué?
Ruby Racer

@RubyRacer Supongo que deberían ser los que son :)
Alex Ivasyuv

//, Excepto que no se pueden desvincular los RP. Lo que puedes, en GH. Gracias a Stash, perdería periódicamente alrededor de 8 horas de mi vida con un contrato con un importante fabricante de vehículos de alta tecnología.
Nathan Basanese

3

Sí, existe GitHub Enterprise :)

https://enterprise.github.com

El único problema es que es un poco caro :(


1
la actualización 2020 : ahora tiene colaboradores ilimitados en repositorios privados como parte de su plan gratuito de GitHub. El precio mensual de nuestro plan Pro se ha reducido de $ 7 / mes a $ 4 / mes. El precio mensual de nuestro plan Team pago se ha reducido de $ 9 por usuario a $ 4 por usuario.
Warfish


2

¿Qué características de github estás buscando?

Si no desea la colaboración, las solicitudes de extracción, etc., pero solo desea que sus propios repositorios sean visibles, git instawebcreará algo para usted.


Sí, prácticamente me gusta poder navegar por el código fuente fácilmente
JasonDavis

Entonces, Git instaweb debería ser más que suficiente. Obtienes muchos más detalles que la vista predeterminada de github, pero es menos "web 2.0".
Noufal Ibrahim



1

Puede ejecutar Git (no todo el Github) a través del servidor HTTP Apache, de modo que aloje el repositorio de Git en el sistema de archivos de su servidor y lo exponga a través de HTTP. Obtiene todas las funcionalidades de Git, pero obviamente no podrá pull-requestni rastrear problemas. Cualquier herramienta adjunta a su repositorio de Git autohospedado puede implementar el resto de las funciones.

Referencia: http://git-scm.com/docs/git-http-backend


Si puedes, te recomiendo encarecidamente esta ruta. Al alojar el servicio usted mismo, no depende de terceros.
Phil

0

También puede instalar Trac . Es más que un servidor Git, tiene otras características como la gestión de tickets y la gestión de proyectos. También tiene la posibilidad de extenderlo a través de complementos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.