Conozco varias herramientas / servicios que proporcionan navegación y administración de DVCS, como Bitbucket , Github , Kiln , SCM-Manager y Rhodecode .
Sin embargo, el caso de uso que estoy considerando es tal que:
- Cualquier código fuente debe residir en los servidores internos de un empleador.
- La solución debe ser de código abierto.
- Debería proporcionar una experiencia similar a Bitbucket o Github, incluyendo un wiki de proyecto, navegación y gestión de repositorios, y aspectos de codificación social como la revisión de código.
- La solución debe tener soporte mercurial (si no soporte para otros DVCS).
De estos, solo SCM-Manager y RhodeCode se acercan, ya que se pueden instalar en sus propios servidores y son de código abierto. Sin embargo, no tienen la experiencia Bitbucket o Github. No hay un rastreador de problemas o wiki y la interfaz de usuario, aunque funcional, no está a la altura de Github o Bitbucket.
Puedo acercarme a Trac o Redmine con sus navegadores de repositorio, pero desafortunadamente no tienen ninguna capacidad de gestión de repositorio.
¿Existen otras herramientas de código abierto que brinden una experiencia similar a Bitbucket, Github o Kiln?
fuente
Respuestas:
Me gustaría echar un vistazo a fósiles. Es el sistema que los desarrolladores de sqlite usan, internamente, aparentemente. También usa sqlite, que es una buena tecnología sólida ... que es agradable y portátil, además de simple y confiable.
Tiene una buena, aunque austera , interfaz de usuario (que creo que corresponde a la naturaleza de un objetivo orientado a la productividad como el que usted describe). ((Asegúrese de revisar el tema "gris". Es mucho menos "router-admin" que el "tema" predeterminado, si pudiera llamarlo así).) Me atrajo por sus raíces como CGI sistema basado, porque soy un tonto para CGI. Los resultados de esa herencia son realmente muy interesantes, ya que este sistema tiene un modo único, SOLO JSON, que tiene todo tipo de posibilidades de implementación interesantes.
Lo mencionan, pero vale la pena repetir que tiene 0 dependencias. Sin php, sin mySQL, sin python. Nada Es su propio ejecutable binario, y funciona en muchas plataformas. Deseo que más proyectos "piensen" de la misma manera.
No estoy afiliado a ellos, así que simplemente citaré las extolaciones de su página de inicio , que generalmente estoy de acuerdo con ... también eche un vistazo a las preguntas y críticas ...
Actualización: en lugar de aludir a la interfaz, aquí hay un vistazo rápido ... Como puede ver, definitivamente es simple ... Pero eso también significa una pizarra limpia para la personalización ... Solo una hoja de estilo y un encabezado / pie de página / tipo de cuerpo sistema de plantillas. Es mejor escribir una historia corta que reescribir el libro de otra persona, IMO.
fuente
Gitorious es de código abierto y puede instalarlo en su propio servidor utilizando los scripts proporcionados por la edición comunitaria de Gitorious (consulte http://www.getgitorious.com/installer ). Gitorious ahora tiene soporte para wikis y seguimiento de problemas. También hay una imagen de Docker disponible para que se ejecute rápidamente.
Otra opción sería Gitlab, que es básicamente un clon de GitHub, no tan maduro como deslumbrante pero está en desarrollo con lanzamientos mensuales.
También puede consultar más opciones aquí.
fuente
Sus restricciones son bastante específicas, pero creo que puede obtener los resultados que busca con los complementos de ChiliProject +.
ChiliProject es una bifurcación de Redmine que utiliza versiones actualizadas de Ruby / Rails. Admite muy bien git y mercurial, y replica la funcionalidad de problemas de Github que parece que está buscando al analizar mensajes de confirmación (es decir,
refs 291
en una confirmación se vincularía una confirmación con el problema # 291).También hay complementos de Redmine / ChiliProject que brindan servicios como revisión de código, resaltado de sintaxis y otras sutilezas que ofrece Github, etc.
Hay otras opciones, JIRA, etc., pero (en mi humilde opinión) no proporcionan la flexibilidad o la riqueza de la funcionalidad que proporciona la bifurcación ChiliProject de Redmine + la multitud de complementos disponibles. No hay mucho que Github y / o BitBucket hagan por usted que ChiliProject (posiblemente con complementos disponibles gratuitamente) no pueda hacer; y la belleza es que, si aún no existe, generalmente es bastante trivial implementarlo usted mismo.
Si esto suena más de lo que necesita ... No lo he probado todavía, pero GitLab también parece interesante ... no parece tener la arquitectura de extensión o plugin de Redmine / Chili, pero si está buscando para un clon de código abierto de Github con la mayoría del conjunto de características principales (y no es necesario que admita múltiples DVCS), se ve bastante bien.
fuente
Allura http://sf.net/p/allura debería cumplir con los requisitos. Es la plataforma para todos los proyectos nuevos (o actualizados) en SourceForge y es de código abierto. Es compatible con Mercurial y wikis, además de muchas más herramientas (Git, SVN, rastreador de tickets, foros, etc.). No tiene "revisión de código" pero admite solicitudes de bifurcación y fusión para repositorios Mercurial y Git.
Está escrito en Python y usa MongoDB y Solr para el almacenamiento de datos.
Allura también se encuentra actualmente en la incubadora de Apache: http://incubator.apache.org/projects/allura.html
Trabajo para SourceForge y ayudo a desarrollar Allura.
fuente
Para exactamente el mismo problema en el trabajo, utilizamos un ecosistema compuesto por:
La integración de DVCS en Redmine ha mejorado a pasos agigantados en las versiones posteriores, actualicé hace unas semanas y estoy extremadamente satisfecho de que la mayoría de las "trampas" hayan desaparecido.
Ejecuto los servidores Redmine y RhodeCode en el mismo host porque Redmine aún no admite repositorios remotos de HG. Jenkins se ejecuta en varios otros hosts.
Utilizo un gancho RhodeCode para desencadenar tirones mercuriales en Redmine. No puedo usar un gancho para los tirones de Jenkins debido a JENKINS-13717 , pero ya envié un parche para esto y supongo que será aceptado bastante rápido. Mientras tanto, solo sondeo los repositorios de HG cada pocos minutos.
Todo se ejecuta en Debian 6.0 sobre Nginx proxy inverso para obtener la terminación SSL (todo esto solo se usa a través de SSL). Recientemente, todo el paquete se movió a un clúster ProxMox para virtualizarlo todo con excelentes resultados hasta ahora. En caso de que no conozca el producto, debe echarle un vistazo. Es uno de esos productos tipo "¡ No puedo creer que esto exista y no lo sabía y OMG también es de código abierto! ". Ejecutamos estos servicios en contenedores OpenVZ que se migran fácilmente de un host a otro para reparaciones / actualizaciones de hardware. En el mismo clúster también ejecutamos un montón de máquinas virtuales KVM para pruebas automatizadas en plataformas Windows.
Estoy extremadamente feliz con este ecosistema. Ha mejorado la capacidad de nuestro equipo de desarrollo / control de calidad para reproducir problemas y realizar un seguimiento de los cambios por un amplio margen. Solo algunas advertencias:
commit:abcd1234
.No dudo en recomendar esta configuración, ya que estoy muy contento con ella. Si necesita ayuda para configurar un servicio específico o desea ver mis archivos de configuración, no dude en preguntar.
fuente
Eche un vistazo a cydra: https://github.com/mensi/cydra tiene soporte para
Funciona en un enfoque basado en proyectos que le permite crear un proyecto y asignarle múltiples repositorios (como máximo un repositorio SVN). La autenticación se basa en complementos individuales (lo integramos en nuestro ldap).
Lo usamos para nuestra plataforma de codificación https://code.vis.ethz.ch . Por el momento no hay ningún soporte para la revisión de código, pero podría agregarse fácilmente como un complemento.
No puedo publicar capturas de pantalla porque no tengo suficiente reputación.
fuente
Considere usar GitLab https://about.gitlab.com/ ya que cumple con la mayoría de sus requisitos:
También tiene un buen rastreador de problemas o puede vincularlo a un rastreador de problemas externo. Puede probar sus solicitudes de fusión con GitLab CI si lo desea. GitLab ha estado creciendo rápidamente y está en uso por más de 25,000 organizaciones.
Divulgación: soy el CEO y cofundador de GitLab BV
fuente