Title: Continuous Integration
1Continuous Integration
- Ernesto Krsulovic
- Taller de Metodologías Ágiles de Software
- Cc62v/2002
2En el desarrollo de software
- Principio básico Dividir para
reinar. - División componentes.
3Propuesta de XP
- No esperar al final de un ciclo para integrar.
- Integrar siempre (más de una vez al día).
- Esto es posible ya que no hay dueños exclusivos
del código. - La integración es un tipo de actividad "pay me
now or pay me more later.
Es decir, si integra en el proyecto en cantidades
pequeñas no integrara el sistema por semanas al
final del proyecto cuando se está al final de los
plazos. Siempre se trabaja en el contexto de la
versión más última del sistema.
Ref http//www.extremeprogramming.org/rules/integ
rateoften.html
4Como se hace?
- Cada par del desarrollo es responsable de
integrar su propio código siempre que se presente
un quiebre razonable. - Solamente un Pair integra en cualquier momento
dado y después de que solamente algunas horas de
codificación. - Se integra cuando se acaban las Unit Tests unidad
todas funcionadas en un 100 o ciertas porciones
más pequeñas de la funcionalidad prevista.
Ref http//www.extremeprogramming.org/rules/integ
rateoften.html
5Ventajas, justificación
- Evita los esfuerzos de divergir o fragmentación
del desarrollo, donde los programadores no se
están comunicando con uno a sobre lo que puede
ser reutilizado, o lo que podría ser compartido.
Cada uno necesita trabajar con la versión más
última. - Los cambios no se deben hacer sobre codigo
obsoleto, que es la principal causa de problemas
en la integración. - La integración continua evita o detecta problemas
de la compatibilidad tempranamente.
Ref http//www.extremeprogramming.org/rules/integ
rateoften.html
6Desventajas
- La integración es una actividad que típicamente
puede realizar un solo par a la vez. - Tiene algunos requerimientos particulares
- Herramientas para el control de la configuración
(e.g. cvs). - Espacio de integración, a falta de este, se
puede usar un candado abstracto.
Ref http//www.extremeprogramming.org/rules/integ
rateoften.html Using an Integration Token,
sección Using an Integration Token
http//www.xpuniverse.com/2001/pdfs/EP201.pdf