Integracion continua

35
Desarrollo potenciado mediante Integración Continua Armando Picón Z. Twitter: @apiconz Blog: http://blog.apicon.info

description

 

Transcript of Integracion continua

Page 1: Integracion continua

Desarrollo potenciado mediante

Integración Continua

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

Page 2: Integracion continua

Contenidos

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

Page 3: Integracion continua
Page 4: Integracion continua

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Page 5: Integracion continua

Algunos problemas durante el desarrollo...

Nadie tiene la última versión del proyecto.

Nadie sabe cómo va el proyecto.

Page 6: Integracion continua

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.

Page 7: Integracion continua

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.

Page 8: Integracion continua

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...”

Page 9: Integracion continua

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.

Page 10: Integracion continua

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.

Page 11: Integracion continua

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.

Page 12: Integracion continua

¿Qué es Integración Continua?

Page 13: Integracion 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

Page 14: Integracion continua
Page 15: Integracion continua

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 

Page 16: Integracion continua

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 

Page 17: Integracion continua

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 

Page 18: Integracion continua

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 

Page 19: Integracion continua

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 

Page 20: Integracion continua

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 

Page 21: Integracion continua
Page 22: Integracion continua

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

Page 23: Integracion continua

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

Page 24: Integracion continua

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

Page 25: Integracion continua

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

Page 26: Integracion continua

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

Page 27: Integracion continua

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

Page 28: Integracion continua

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

Page 29: Integracion continua

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!

:)

Page 30: Integracion continua

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

Page 31: Integracion continua

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/

Page 32: Integracion continua

Demo

Page 33: Integracion continua
Page 34: Integracion continua

Agiles 2010Lima – Perú 4 al 7 de Octubre

http://agiles2010.agiles.org/

Page 35: Integracion continua

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