Forjas de Software y repositorios de código en la nube Dani Reguera Bakhache dreguera@mondragon.edu http://twitter.com/dreguera http://www.linkedin.com/in/danireguera http://mukom.mondragon.edu/socialmedia
Qué son? Las forjas de software (o simplemente forjas) son plataformas web que permiten el desarrollo de software de forma colaborativa por medio de Internet. Estas forjas aglutinan una serie de aplicaciones con interfaz web que permiten alojar múltiples proyectos o desarrollos
A qué nos referimos? Un servicio ofrecido por una plataforma web para alojar proyectos de desarrollo software, también conocidos como repositorios en la nube Un conjunto de elementos software que componen dichas plataformas, listos para ser instalados dentro de una organización o de cada a Internet
Para que se usan? Cooperación entre desarrolladores para la difusión de software y el soporte al usuario Albergar código Colaboración en proyectos
Sourgeforge Lanzado en Noviembre de 1999 SourceForge es un sitio web de colaboración para proyectos de software SourceForge es una central de desarrollos de software que controla y gestiona varios proyectos de software libre y actúa como un repositorio de código fuente Find, Create, and Publish Open Source software for free
Funcionalidades Repositorio de código Gestor de incidencias Gestor de documentación / Wikis Listas de distribución Gestión de usuarios Oauth, LDAP, OpenID, BBDD Estadísticas Distribución de versiones publciadas (file releases)
Repositorio de código
Repositorio de código
Gestor de incidencias
Gestor de documentación
Listas de distribución
Listas de distribución
Gestión de usuarios
Estadísticas
Tipos de plataformas Alojadas por nosotros Fusionforge Redmine Alojadas en la nube Github Googlecode Gitorious Bitbucket Launchpad Codeplex (Microsoft)
FusionForge Versión estable: 5.1.1 Septiembre 2011 PHP / Linux Licencia GNU / GPL Provee project hosting, Control de versiones (Bazaar, CVS, Darcs, Git and Subversion) bugtracking Desciende del proyecto forge y está pensado para correr en la plataforma sourgeforge.net
Redmine Escrito en Ruby on Rails Crossplatform Licencia GNU GPL v2 Soporta múltiples proyectos. Roles flexibles basados en control de acceso. Sistema de seguimiento de errores flexible. Diagramas de Gantt y calendario. Administración de noticias, documentos y archivos. Fuentes web y notificaciones por correo electrónico. Integración SCM (Subversion, CVS, Git, Mercurial, Bazaar y Darcs) Soporta diferentes bases de datos (MySQL, PostgreSQL y SQLite) Plugins
Github GitHub es una forja para alojar proyectos utilizando el sistema de control de versiones Git. Utiliza el framework Ruby on Rails El código se almacena de forma pública, aunque también se puede hacer de forma privada, creando una cuenta de pago Características: Wiki para cada proyecto. Página web para cada proyecto.1 Gráfico para ver cómo los desarrolladores trabajan en sus repositorios y bifurcaciones del proyecto. Funcionalidades como si se tratase de una red social, como por ejemplo: seguidores
Github
Gitorius Es un sitio web para el hosting de proyectos open source utilizando Git como sistema de control de versiones Lanzado en enero del 2008 Desarrollado en Ruby y es crossplatform Características: Incluye wiki Incluye activity timeline para los proyectos y los desarrolladores
Bitbucket Servicio de alojamiento de código basado en web para proyectos Git y Mercurial para el control de versiones Escrito en Python Lanzado en 2008 Numero de colaboradores ilimitado Control de errores Wiki Custom domains
Bitbucket
Launchpad Launchpad es una aplicación web y un sitio web que apoya el desarrollo de software, en particular el de software libre. Está desarrollada y mantenida por Canonical Ltd. Utiliza Zope (Python web server) Lanzado en enero del 2004 Es usada para el desarrollo de Ubuntu
Launchpad Características: Code: un sitio de alojamiento de código fuente que utiliza el sistema de control de versiones Bazaar. Bugs: un sistema de seguimiento de errores para informar sobre bugs en diferentes distribuciones y productos. Blueprints: un sistema de seguimiento para especificaciones y nuevas características. Translations: un sitio para traducir aplicaciones a múltiples idiomas. Answers: un sitio de ayuda para la comunidad. Soyuz: una herramienta para llevar una pequeña parte del mantenimiento de las distribuciones. Abarca el sistema de construcción, el mantenimiento de paquetes y la publicación de archivos.
Google Code Lanzada por Google en 2007 No solo para diferentes APIs de Google sino que también podemos alojar nuestros proyectos Control de versiones (Git, SVN, Mercurial) Wiki Listas de distribución (Google groups) Permite también clonar proyectos
Codeplex Plataforma para alojar proyectos creada por Microsoft Entre sus características incluye páginas wiki, control de código fuente basado en Team Foundation Server, un foro de discusión, seguimiento de tareas, soporte de tags sobre el proyecto, soporte de RSS, estadísticas y gestión de la publicación de los proyectos.
Qué criterios utilizar a la hora de eligir? http://en.wikipedia.org/wiki/comparison_of_op en_source_software_hosting_facilities
DEMOS
Google Code - Crear nuevo proyecto
Google Code - Crear nuevo proyecto
Google Code - Crear nuevo proyecto
Google Code - Crear nuevo proyecto
Google Code - Crear nuevo proyecto
Google Code - Crear nuevo proyecto
Google code Participar en un proyecto
Google code Participar en un proyecto
Google code Participar en un proyecto
Google code Participar en un proyecto
Google code Participar en un proyecto
Github Crear repositorio: https://help.github.com/articles/create-a-repo Contribuir en un proyecto: https://help.github.com/articles/fork-a-repo Ayuda de Github: https://help.github.com/
Créditos Imágenes y tablas Wikipedia
Dani Reguera Bakhache dreguera@mondragon.edu http://twitter.com/dreguera http://www.linkedin.com/in/danireguera http://mukom.mondragon.edu/socialmedia