Necesito un reemplazo autohospedado para Github. Es crucial que funcione en una intranet con firewall, sin acceso a Internet (por ejemplo, estilos, controles de licencia, etc.).
Debe ser de código abierto (lo que significa que está bien si le falta alguna funcionalidad menor) o asequible (>2400€/año para 30 usuarios es demasiado caro).
Sé que hay al menos:
Pero no tengo experiencia con estos: esta lista no está excluida de las respuestas de ninguna manera. Sin embargo, como ya sé, existen algunas alternativas, por lo que no busco una lista de posibles soluciones, sino recomendaciones basadas en lo que ha usado y probado. También puedo usar un motor de búsqueda, por lo que no es necesario publicar respuestas con solo contenido copiado y pegado desde el primer acceso.
Hemos usado GitLab durante más de un año para albergar proyectos de mis alumnos.
TL;DR;EDIT: solía haber una demostración , pero ahora falta. Puedes registrarte gratis y crear algunos repositorios públicos.
Debo decir que estoy realmente satisfecho.
Como se recomienda una iteración a través de su requisito en este sitio, haré exactamente eso.
Interfaz de usuario web relativamente buena : puede explorar la fuente y el historial, estadísticas (globales y por usuario) y gráficos de confirmaciones (como "red" en Github). Puede comentar cada línea de compromiso desde la GUI, ¡es una gran característica! Lo siento, pero no puedo proporcionar capturas de pantalla, tendría que anonimizarlas manualmente. Generalmente es similar a Github.
Soporte para git y/o mercurial. El soporte para ambos es una ventaja. Git solamente.
Shell SSH (los repositorios deben ser accesibles a través de ssh, en lugar de solo http, aunque al menos git admite relativamente bien todas las operaciones a través de http) : es como en Github. HTTP para acceso de solo lectura, SSH para lectura y escritura.
Permisos: al menos
repositorios privados/públicos : está ahí.
solo lectura y acceso completo : puede definir roles (creo que los valores predeterminados son maestro, desarrollador, reportero, invitado).
El mismo conjunto de permisos para la interfaz de usuario web y para SSH (al otorgar/modificar permisos, debe reflejarse en ambos) : creo que funciona así, pero como no tengo acceso de administrador en este momento, es difícil de probar. Pero, de nuevo, es como github.
preferiblemente integración a LDAP (tanto usuarios como grupos para permisos) : Tenemos eso. Todos inician sesión a través de ldap, el personal tiene más privilegios que los estudiantes. PERO realmente no puedo decir si eso fue muy fácil, es simplemente posible.
Solicitudes de extracción (también conocidas como solicitud de fusión) : Presente.
Herramientas de administración: creación de repositorios, otorgamiento de acceso : todo desde la interfaz web, con una buena búsqueda de usuarios y la capacidad de definir grupos de usuarios.
Rastreador de problemas simple: creación de tickets, comentarios, cierre, etiquetas/etiquetas : sí, está ahí. No estoy seguro de qué quiere decir con etiquetas difíciles, no pude ver nada como esto. ¿Hitos?
Preferiblemente buscar, incluidos tickets, usuarios, proyectos, nombres de archivo y código fuente interno : esta sería probablemente la característica menos elegante de gitlab. Puede buscar usuarios/proyectos/grupos, puede encontrar el contenido de los archivos, pero no un nombre de archivo. Lo encuentro bastante torpe.
Preferiblemente bifurcación desde la interfaz de usuario web : Presente.
Preferiblemente se ejecuta en Linux : obviamente ;-)
Proceso de actualización : es bastante sencillo si conoce su sistema. Cada versión tiene su propia guía de actualización, que siempre está un poco relacionada con la configuración predeterminada recomendada (es decir, rutas, usuarios, comandos, etc.). Si tiene un sistema no estándar (en sus términos), si personaliza su configuración, tendrá que pasar un poco de tiempo para mejorar todo, pero nunca es complicado, principalmente un nuevo clon, ejecuta algunos scripts y tú. re hecho Nunca tuve ningún problema, pero dejé de seguir el proceso hace bastante tiempo. ACTUALIZAR Gitlab ahora incluye (a partir de 6.4.2) un sencillo script de actualización . Suponiendo que tiene el diseño del sistema estándar, el proceso de actualización real ahora es un solo comando.
Está en desarrollo activo con una nueva versión cada mes, por lo que definitivamente vale la pena intentarlo. Es de código abierto, gratuito para uso comercial.
No se requiere una conexión a Internet para que Gitlab funcione. Necesitará Internet para configurar Gitlab porque descarga sus dependencias de RubyGems. Alternativamente, puede crear un espejo de RubyGems o realizar la instalación en otro servidor y copiar el directorio de instalación completo (de forma predeterminada /home/git/
) en este servidor.
Captura de pantalla
Usamos Atlassian Stash junto con Jira para el seguimiento de problemas.
Stash tiene una licencia de $10 para 10 usuarios, $1,800 para 25 usuarios, $3,300 para 50 usuarios, $6,000 para 100 usuarios y $12,000 para 500 usuarios. Stash en sí no incluye el seguimiento de problemas, pero Atlassian distribuye una solución de seguimiento de problemas separada, Jira, bajo el mismo modelo de licencia.
Por supuesto, para satisfacer sus necesidades.
Gogs (Go Git Service) es un Git Service sencillo y autohospedado escrito en Go. Una alternativa sería su bifurcación impulsada por la comunidad Gitea .
He probado este y me ha parecido bastante atractivo. Interfaz simple, característica casi a la par con lo que esperaría de un GitHub similar, y un mantenedor ansioso por implementar características y corregir errores. La instalación es muy simple. Coloque el binario en una carpeta y llámelo desde la línea de comando. La configuración inicial es a través de un archivo de configuración. Y tiene ganchos Git y Web. De todos modos, espero que lo siguiente responda a la pregunta, aunque sea un poco tarde.
.ssh/authorized_keys
), 2) Cree/inicialice el repositorio a través de WebUI (no manualmente a través de git init
). Entonces parece funcionar bien. Sin embargo, aún no se ha encontrado la forma de adoptar un repositorio de barebones existente.Yo propondría Tuleap
Además (como es un ALM completo, no se limita a la gestión de código)
Es 100 % de código abierto (GPLv2) y puede obtener soporte profesional de Enalean.
Divulgación completa: soy parte del equipo de desarrollo, así que probablemente no sea 100% justo;)
Estoy usando Phabricator , que se desarrolla con Phabricator mismo .
permisos :
stable
rama) en un estado de funcionamiento, por lo que la actualización es principalmente una cuestión de ejecución git pull
y cualquier migración de base de datos pendiente.He estado probando gitstack durante las últimas dos semanas. Todavía no lo he explorado completamente (ah, el tiempo siempre es tan corto). Voy a usar principalmente capturas de pantalla de su lista de características ya que estoy en la computadora equivocada en este momento (y en la red equivocada FWIW)
GitStack es de código abierto y el código fuente está en github . Lanzado bajo GPL como se indica en su página de funciones : todas las funciones actualmente, aunque en el futuro pueden agregar nuevas funciones a las versiones pagas y no a la versión gratuita, pero a partir del lanzamiento de noviembre de 2013 eso aún no ha sucedido.
En cuanto a los precios :
ACTUALIZACIÓN 2015: Gitorious se fusionará con GitLab, así que vea la respuesta de GitLab .
Gitorious es un software de alojamiento y colaboración de Git que puede instalar usted mismo.
Es de código abierto y puedes probarlo en gitorious.org
RhodeCode Enterprise 3 ( https://rhodecode.com ) cumple con 9 de cada 10 de sus requisitos:
RhodeCode Enterprise es gratuito para 10 usuarios, ONG y EDU. Está escrito en Python, se usa en producción en más de 10 000 organizaciones y estas organizaciones lo fortalecieron y ajustaron durante más de 3 años.
Descargo de responsabilidad: soy cofundador de RhodeCode.
Como aún no figura en la pregunta, ni en las respuestas anteriores, también hay Deveo que admite los requisitos. Hay un nivel gratuito que estamos lanzando para 5 usuarios, después del cual el precio es de 36 €/usuario/año.
Deveo tiene una de las mejores UI/UX que existen
Deveo admite ambos, además de Subversion (SVN)
Se admiten tanto SSH como HTTPS.
Todos los casos de uso anteriores son compatibles. En Deveo, los repositorios se agrupan dentro de proyectos, lo que significa que puede tener repositorios backend y frontend en el mismo proyecto. Hay un control de acceso detallado que se puede utilizar tanto a nivel de proyecto como a nivel de repositorio. El mismo esquema de permisos se aplica naturalmente tanto a los repositorios como a la interfaz de usuario web. Deveo puede integrarse a LDAP/AD y, además, puede configurar Deveo para autenticarse con un servicio de inicio de sesión único basado en SAML 2.0.
Las solicitudes de extracción se admiten en este momento dentro del mismo repositorio. Puede establecer una cantidad de aprobaciones requeridas antes de que se puedan fusionar los cambios, e incluso requerir una compilación aprobada para la sucursal antes de que se pueda realizar la fusión.
Deveo admite múltiples niveles de acceso para crear repositorios y otorgar acceso. El control de acceso está basado en roles, lo que lo hace fácil de entender y usar.
Deveo tiene un rastreador de problemas incorporado que se parece a Trello. Puede crear hitos, que actúan como tableros de Trello, y arrastrar y soltar los problemas de un estado a otro. Existe la posibilidad de comentar sobre los problemas, agregar archivos adjuntos, asignar personas, etiquetar los problemas y más.
Puede buscar la mayor parte del contenido en Deveo.
La bifurcación es compatible con la interfaz de usuario.
Se admiten todas las distribuciones comunes de Linux (Debian, CentOS, Ubuntu, RedHat)
Estoy afiliado a Deveo
Actualización: parece que RhodeCode NO es en realidad de código cerrado, tiene una edición comunitaria (código abierto) y algunas características (empresa) son de código cerrado. Dado eso, no estoy seguro de qué tan activa permanecería la bifurcación de Kallithea.
Kallithea comenzó como una bifurcación de código abierto de RhodeCode, la bifurcación se inició porque RhodeCode se cerró Fuente. Kallithea es gratis.
Soporta repositorios Git y Mercurial. Tiene, como era de esperar, la misma interfaz de usuario que la edición 2013 de RhodeCode.
Sitio web principal:
Este es un complemento de la respuesta de GitLab de Piotr Zierhoffer .
Yo también busqué soluciones para esto (en los últimos años) y descubrí que GitLab es el más adecuado en términos de características, facilidad de uso y licencia. Me sorprendió gratamente lo similar que es a GitHub. La respuesta publicada anteriormente es excelente.
Lo que me gustaría agregar es que no necesariamente necesita instalarlo desde cero o usar el servicio alojado (o un tercero como GitHost). Hay algunos proveedores de alojamiento en la nube y VPS que tienen configuraciones de "un clic" para GitLab, y hay imágenes y contenedores para Amazon Web Services y Docker.
Por ejemplo, recientemente cambié el proveedor de alojamiento de VPS a DigitalOcean y me alegró descubrir que tienen un "droplet" de un clic para GitLab (así como tutoriales para la instalación manual y con un solo clic ). En cuanto al alojamiento en la nube, Amazon EC2 es muy asequible y he visto muchos tutoriales y al menos un par de imágenes populares para GitLab.
Nuevamente, disculpas por hacer de esta una respuesta separada. Espero que no te importe. Realmente quería mencionarlo, ya que puede ser valioso para las personas que buscan la forma más rentable de ejecutar el software recomendado en la respuesta aceptada.
(Si alguien está usando alguno de estos, sería interesante saber cómo funcionó en términos de configuración, mantenimiento y rendimiento).
Sytse Sijbrandij
Thyamarkos
nathan osman
Stefan Steiger
Warren P.
usuario3791372
Tomás Weller
Broco
iBug