Integracion continua

Post on 02-Dec-2014

1.345 views 1 download

description

 

Transcript of Integracion continua

Desarrollo potenciado mediante

Integración Continua

Armando Picón Z.Twitter: @apiconzBlog: http://blog.apicon.info

Contenidos

  Algunos problemas durante el desarrollo...ConceptoBeneficiosPrácticas fundamentales¿Cómo trabaja?HerramientasDemo

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Las funcionalidades no se prueban adecuadamente.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Las funcionalidades no se prueban adecuadamente.

“...pero si funciona en mi máquina...”

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Las funcionalidades no se prueban adecuadamente.

“...pero si funciona en mi máquina...”

Las pruebas toman tiempo y aburren.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Las funcionalidades no se prueban adecuadamente.

“...pero si funciona en mi máquina...”

Las pruebas toman tiempo y aburren.

Sorpresas tras el despliegue.

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Preparas un build completo segun la ocasión.

Las funcionalidades no se prueban adecuadamente.

“...pero si funciona en mi máquina...”

Las pruebas toman tiempo y aburren.

Sorpresas tras el despliegue.

¿Qué es Integración Continua?

La Integración Continua es una serie de prácticas de desarrollo de software en el que los miembros de un equipo integran su trabajo con frecuencia, generalmente cada persona se integra una vez al día lo cual resulta en múltiples integraciones diarias. Cada integración es verificada por un build automatizado (incluyendo las pruebas) para detectar errores de integración tan rápido como sea posible.

Muchos equipos encuentran que este enfoque conduce a reducir problemas de integración de forma significativa y permite desarrollar software cohesivo con mayor rapidez.

Martin Flowerhttp://www.martinfowler.com/articles/continuousIntegration.html

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Beneficios de la Integración Continua

• Reducción de riesgos• Reducción de procesos manuales repetitivos• Genera software desplegable en cualquier momento• Permite una mejor visibilidad del proyecto• Aumenta la confianza en el producto entregado por el

equipo de desarrollo 

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Prácticas fundamentales

Subir código al repositorio frecuentementeNo subir código "roto"Corregir builds rotos inmediatamenteEscribir pruebas automatizadasTodas las pruebas deben pasarCorrer pruebas privadas

Repositorio de Código

Servidor de Integración Continua

Servidor CI

Build script

¿Cómo funciona?

Código listo y testeado

Sube codigo

Obtiene código

Ejecuta pruebas

Todo esta OK!

Notificando!

:)

Repositorio de CódigoServidor

CI

Build script

¿Cómo funciona?

Mmm... es hora del partido...

Sube codigoObtiene código

Ejecuta pruebas

Mal! Mal! Mal!

Notificando!

Nooooo!:'(

... no tengo tiempo para

probar

Herramientas

Hudsonhttp://hudson-ci.org/

TeamCity

http://www.jetbrains.com/teamcity/

CruiseControl

http://cruisecontrol.sourceforge.net/

phpUnderControl

http://www.phpundercontrol.org/about.html

Continuum

http://continuum.apache.org/

Bamboo

http://www.atlassian.com/software/bamboo/

Demo

Agiles 2010Lima – Perú 4 al 7 de Octubre

http://agiles2010.agiles.org/

Armando Picón Z.Twitter: @apiconzBlog: http://blog.apicon.info