presentacion de integracion continua (lima agile)
DESCRIPTION
TRANSCRIPT
![Page 1: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/1.jpg)
Edwin Farfan ColanConsultor Java SCJP 5.0AP JOEDAYZE-mail: [email protected]: www.edwinfarfan.blogspot.comTwitter: edwinfarfan
![Page 2: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/2.jpg)
Integración Continua
Power tools getting all together
![Page 3: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/3.jpg)
Los proyectos de software implican un gran número de archivos que necesitan ser integrados juntos para construir un solo producto.
Este proceso puede tardar tiempo valioso para nuestro proyecto, además realizar esta tarea es repetitiva.
Luego de esta integración algún código desarrollado por otro desarrollador puede causar conflictos con otro código que ya está implementado.
Introducción
![Page 4: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/4.jpg)
El objetivo es automatizar tareas que son repetitivas (compilar, ejecución de pruebas, construcción, deployar, documentación). Y que estas tareas sean ejecutadas lo más a menudo posible y de manera automática para así poder detectar fallos cuanto antes.
Te permite estar siempre informado sobre el estado de tu proyecto.
Integración Continua
![Page 5: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/5.jpg)
Integración continua
La Integración Continua está asociado con las metodologías de programación extrema (XP) y desarrollo ágil.
Es una metodología centrada a disminuir la carga de trabajo a los desarrolladores y la utilización de una mayor potencia del servidor
http://www.martinfowler.com/articles/continuousIntegration.html
![Page 6: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/6.jpg)
Subversion
Nexus
SonarHudson
MySql
Internet
Developer
FeedBack
Developer
Developer
Commit
Commit
Commit
![Page 7: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/7.jpg)
Que Necesitamos
Software- Control de Versiones (SVN)- Herramienta para generar Build y automización de tareas (Maven - Hudson)- Repositorio local Maven (Nexus)- Métricas y/o reportes de Analisis de código (Sonar)
Hardware- Servidor dedicado a IC- Espacio en el disco
![Page 8: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/8.jpg)
Controlador de Versiones
Subversion sistema de control de versiones que administra y guarda cualquier fichero,mantiene un historial de cambios realizados.Nos permitirá tener nuestro código centralizado, descargar, actualizar y subir código que se encuentra en este repositorio.Hacer frecuentes commits acelerará la construcción del proyecto, además de encontrar rápido errores.
![Page 9: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/9.jpg)
MavenHerramienta para la gestión y construcción de proyectos Java. Es la Base que se tiene para trabajar para la IC (con proyectos Java), ya que cuenta con comandos de compilacion, deploy, test, etc. Con un solo comando puede construir un proyecto .
![Page 10: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/10.jpg)
Utiliza un Project Object Model (POM) para describir el proyecto de software a construir, sus dependencias de otros módulos y componentes externo, y el orden de construcción de los elementos.
![Page 11: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/11.jpg)
Puedes generar un repositorio local para los Jars (o librerias), donde estarán almacenados localmente o remotamente en un servidor.
![Page 12: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/12.jpg)
Nexus
Nexus es un administrador visual de repositorios para Maven.Nexus actúa como un repositorio de Maven público. Esto significa que los artefactos (jars) y sus dependencias, sólo tienen que descargar una vez, y después se descargan del Nexus.
![Page 13: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/13.jpg)
Nexus
![Page 14: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/14.jpg)
Hudson
Herramienta open source que nos ayuda a monotorizar la ejecución de tareas repetitivas como el compilar un proyecto cada cierto tiempo. Además se enfoca en la construcción y prueba los proyectos de software de forma continua y en monitorizar la ejecución de tareas ejecutadas externamente.Se integra fácilmente con Maven y tiene un sin numero de plugin que se pueden utilizar.
![Page 15: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/15.jpg)
![Page 16: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/16.jpg)
Sonar
Podemos controlar, lo que podemos medir.
Permite la verificación de la calidad del código java, calcula y muestra en formato web métricas de nuestros proyecto.
Herramientas como PMD, CheckStyle, FindBugs, Cobertura, etc; ya vienen embebidas en Sonar.
![Page 17: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/17.jpg)
Sonar
![Page 18: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/18.jpg)
Ventajas- Reducción del tiempo de integración.- Detección de errores lo más pronto posible.- Pruebas inmediatas tras un cambio en el código.- Disponibilidad del código para test, demos, etc.
Desventajas- Necesidad de un servidor dedicado para IC.- El impacto inmediato al subir código erróneo provoca que los desarrolladores no hagan tantos commits como sería conveniente como copia de seguridad
![Page 19: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/19.jpg)
Conclusiones- La IC está enfocada a disminuir el riesgo y a la detención y solución temprana de problemas.- La IC nos brindará información en todo momento.- El éxito de la IC esta fuertemente ligada con las serie de pruebas (Cobertura) que se tiene en el proyecto.- Permite una rápida retroalimentación de nuestro proyecto.
![Page 20: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/20.jpg)
RECURSOS
![Page 21: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/21.jpg)
Herramientas
![Page 22: Presentacion de integracion continua (lima agile)](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547cbd05b4af9fef608b4929/html5/thumbnails/22.jpg)
Gracias