Forjas de Software: qué son y para que sirven

45
Forjas de Soſtware y Repositorios de Código en la nube Araba Encounter 2014 Iñaki Arenaza & Dani Reguera {iarenaza,dreguera}@mondragon.edu @iarenaza & @dreguera https://linkedin.com/in/{iarenaza,dreguera} Creative Commons Attribution Non-commercial Share Alike 3.0 Spain License

Transcript of Forjas de Software: qué son y para que sirven

Page 1: Forjas de Software: qué son y para que sirven

Forjas de Software y Repositorios de Código en la nube

Araba Encounter 2014

Iñaki Arenaza & Dani Reguera{iarenaza,dreguera}@mondragon.edu

@iarenaza & @dreguerahttps://linkedin.com/in/{iarenaza,dreguera}

Creative CommonsAttribution Non-commercial Share Alike3.0 Spain License

Page 2: Forjas de Software: qué son y para que sirven

¿Qué son?

Plataformas web que permiten el desarrollo de software de forma colaborativa por medio de Internet.

Aglutinan una serie de aplicaciones que permiten alojar múltiples proyectos o desarrollos.

Page 3: Forjas de Software: qué son y para que sirven

¿A qué nos referimos?

Al servicio ofrecido por una plataforma web para alojar proyectos de desarrollo software, también conocidos como “repositorios en la nube”.

Al conjunto de elementos software que componen dichas plataformas, listos para ser instalados dentro de una organización o de cara a Internet.

Page 4: Forjas de Software: qué son y para que sirven

¿Para que se usan?

Cooperación entre desarrolladores para la creación y difusión de software y el soporte al usuario.

Albergar código.

Colaboración en proyectos.

Page 5: Forjas de Software: qué son y para que sirven

Funcionalidades

Repositorio de código

Gestor de incidencias (“bug tracker”)

Gestor de documentación / Wikis

Listas de distribución

Gestión de usuarios (Oauth, LDAP, OpenID, BBDD)

Estadísticas

Distribución de versiones publicadas (file releases)

Page 6: Forjas de Software: qué son y para que sirven

Funcionalidades

Page 7: Forjas de Software: qué son y para que sirven

Repositorio de código

Page 8: Forjas de Software: qué son y para que sirven

Repositorio de código

Page 9: Forjas de Software: qué son y para que sirven

Repositorio de código

Page 10: Forjas de Software: qué son y para que sirven

Gestor de incidencias

Page 11: Forjas de Software: qué son y para que sirven

Gestor de incidencias

Page 12: Forjas de Software: qué son y para que sirven

Gestor de documentación

Page 13: Forjas de Software: qué son y para que sirven

Listas de distribución

Page 14: Forjas de Software: qué son y para que sirven

Listas de distribución

Page 15: Forjas de Software: qué son y para que sirven

Gestión de usuarios

Page 16: Forjas de Software: qué son y para que sirven

Estadísticas

Page 17: Forjas de Software: qué son y para que sirven

Tipos de plataformas

Alojadas por nosotros:GForge / Fusionforge

Redmine

GitLab*

Gitorius*

Launchpad*

Page 18: Forjas de Software: qué son y para que sirven

Tipos de plataformas

GitHub*

Googlecode

Bitbucket*

GitLab*

Launchpad*

Gitorious*

Codeplex

SourceForge

Alojadas en la nube (modelo SaaS):

Page 19: Forjas de Software: qué son y para que sirven
Page 20: Forjas de Software: qué son y para que sirven

Sourceforge

Una de las primeras forjas de software

Lanzado en Noviembre de 1999

Central de desarrollos de software que controla y gestiona varios proyectos de software libre y actúa como un repositorio de código fuente

Su eslogan inicial: “Find, Create, and Publish Open Source software for free”

Page 21: Forjas de Software: qué son y para que sirven
Page 22: Forjas de Software: qué son y para que sirven

FusionForge

Es un fork del proyecto Gforge. Licencia GNU GPL.

Versión estable: 5.3.2 (Septiembre 2014)

PHP+Perl, Postgresql, Linux

Provee alojamiento de proyectos, control de versiones (Bazaar, CVS, Darcs, Mercurial, Git and Subversion), bug-tracking, gestión de tareas, listas de correo, foros, gestion de documentos, distribución de ficheros, etc.

Extensible mediante plugins

Page 23: Forjas de Software: qué son y para que sirven
Page 24: Forjas de Software: qué son y para que sirven

Redmine

Ruby on Rails

Multiplataforma

Licencia GNU GPL v2

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 con control de versiones (Subversion, CVS, Git, Mercurial, Bazaar y Darcs)

Soporta diferentes bases de datos (MySQL, PostgreSQL y SQLite)

Extensible mediante Plugins

Page 25: Forjas de Software: qué son y para que sirven
Page 26: Forjas de Software: qué son y para que sirven

GitHub

Incidencias (Issues)

Wiki para cada proyecto.

Página web para cada proyecto

Gists*

Estadísticas y gráficos de bifurcaciones del proyecto.

Funcionalidades de red social: seguidores

Posibilidad de dominos personalizados

Alojamiento de proyectos que usan Git.

Código privativo. Utiliza el framework Ruby on Rails.

Los respositorios son públicos, aunque pueden ser privados creando cuentas de pago.

Características:

Page 27: Forjas de Software: qué son y para que sirven

GitHub

Page 28: Forjas de Software: qué son y para que sirven
Page 29: Forjas de Software: qué son y para que sirven

Gitorious

Sitio web para alojamiento de proyectos open source, utilizando Git como control de versiones.

Desarrollado en Ruby. Multiplataforma. Lanzado en 2008.

Licencia GNU Affero General Public License (AGPL).

Características:Incluye wiki

Incluye “activity timeline” para los proyectos y los desarrolladores

Page 30: Forjas de Software: qué son y para que sirven
Page 31: Forjas de Software: qué son y para que sirven

Bitbucket

Alojamiento de código basado en web para proyectos.

Código privativo. Escrito en Python. Lanzado en 2008.

Git y Mercurial para el control de versiones.

Numero de respositorios ilimitado.

Número de colaboradores por repositorio limitado. Hasta 5 con cuentas gratis.

Gestión de incidencias (issues), revisión de código (code review), API REST, integración con otros productos de Atalassian.

Posibilidad de dominos personalizados para los proyectos.

Page 32: Forjas de Software: qué son y para que sirven

Bitbucket

Page 33: Forjas de Software: qué son y para que sirven
Page 34: Forjas de Software: qué son y para que sirven

Launchpad

Sitio web que apoya el desarrollo de software libre.

Desarrollada y mantenida por Canonical Ltd, principalmente para el desarrollo de Ubuntu.

Utiliza Zope (Python web server)

Lanzado en enero del 2004. Liberada en 2009, con licencia GNU Affero General Public License, version 3.

Page 35: Forjas de Software: qué son y para que sirven

LaunchpadControl de versiones usando Bazaar

Gestión de incidencias (bug tracking)

Revisión de código por pares

Gestión de construcción y alojamiento de paquetes para Ubuntu (PPA)

Gestión de traducciones de software

Listas de correo

Preguntas frecuentes (FAQ) y seguimiento de preguntas

Gestión de especificaciones y nuevas características (blueprints)

Page 36: Forjas de Software: qué son y para que sirven
Page 37: Forjas de Software: qué son y para que sirven

Google Code

Lanzada y mantenida por Google en 2007.

Código privativo.

No solo para diferentes productos y APIs de Google, también podemos alojar nuestros proyectos.

Los repositorios son siempre públicos.

Control de versiones (Git, SVN, Mercurial).

Wiki para documentación.

Listas de distribución (usando Google groups).

Page 38: Forjas de Software: qué son y para que sirven
Page 39: Forjas de Software: qué son y para que sirven

CodePlex

Páginas wiki

Control de código fuente basado en Team Foundation Server o Git

foro de discusión

seguimiento de tareas

soporte de tags sobre el proyecto

soporte de RSS

estadísticas

gestión de la publicación de los proyectos.

Plataforma para alojar proyectos creada por Microsoft

Entre sus características incluye:

Page 40: Forjas de Software: qué son y para que sirven

Criterios utilizar a la hora de eligir

http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities

Page 41: Forjas de Software: qué son y para que sirven

DEMOS

Page 42: Forjas de Software: qué son y para que sirven

Google Code

Crear un repositorio:http://code.google.com/hosting/createProject

Contribuir en un proyecto:http://code.google.com/p/support/wiki/HowToJoinAProject

Ayuda de Google Code:https://code.google.com/p/support/wiki/GettingStarted

Page 43: Forjas de Software: qué son y para que sirven

GitHub

Crear un 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/

Page 44: Forjas de Software: qué son y para que sirven

Créditos

Imágenes y tablas: Wikipedia

Page 45: Forjas de Software: qué son y para que sirven

¡Gracias!

Iñaki Arenaza & Dani Reguera{iarenaza,dreguera}@mondragon.edu

@iarenaza & @dreguerahttps://linkedin.com/in/{iarenaza,dreguera}

Creative CommonsAttribution Non-commercial Share Alike3.0 Spain License