SlideShare una empresa de Scribd logo
Edwin Farfan Colan Consultor Java  SCJP 5.0 AP JOEDAYZ E-mail: edwin.farfan@joedayz.org Blog: www.edwinfarfan.blogspot.com Twitter: edwinfarfan
Integración Continua Power tools getting all together
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
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
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
Subversion Nexus Sonar Hudson MySql Internet Developer FeedBack Developer Developer Commit Commit Commit
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
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.
Maven Herramienta 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 .
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.
Puedes generar un repositorio local para los Jars (o librerias), donde estarán almacenados localmente o remotamente en un servidor.
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.
Nexus
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.
 
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.
Sonar
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
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.
RECURSOS
Herramientas
Gracias

Más contenido relacionado

La actualidad más candente

Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
Jose Patricio Bovet Derpich
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
Jose Manuel Ortega Candel
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
Info ArtdeCode
 
DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
Christian Rodriguez
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
Ernesto Cardenas Cangahuala
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
Rodrigo Pimentel
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
Lenin Lozano
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
Emerson Garay
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
Mkt Manager Data Adviser
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
David Gómez García
 
Introducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeIntroducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la Nube
Ernesto Cardenas Cangahuala
 
Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en Java
César Hernández
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
César Hernández
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Osvaldo
 
Selenium
SeleniumSelenium
Selenium
Sheyla Guerrero
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
Kleer Agile Coaching & Training
 
Integración Continua con Team Foundation Server
Integración Continua con Team Foundation ServerIntegración Continua con Team Foundation Server
Integración Continua con Team Foundation Server
rido
 
Scrum overview
Scrum overview Scrum overview
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins
armolinamilla
 

La actualidad más candente (20)

Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 
Introducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeIntroducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la Nube
 
Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en Java
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Selenium
SeleniumSelenium
Selenium
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Integración Continua con Team Foundation Server
Integración Continua con Team Foundation ServerIntegración Continua con Team Foundation Server
Integración Continua con Team Foundation Server
 
Scrum overview
Scrum overview Scrum overview
Scrum overview
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins
 

Destacado

Présentation d'Éric Bertrand
Présentation d'Éric BertrandPrésentation d'Éric Bertrand
Présentation d'Éric Bertrand
TIC Cégep Limoilou
 
La signature du ridicule : Usage politique et détournement du sens dans les p...
La signature du ridicule : Usage politique et détournement du sens dans les p...La signature du ridicule : Usage politique et détournement du sens dans les p...
La signature du ridicule : Usage politique et détournement du sens dans les p...
Bodyspacesociety Blog
 
LE MIROIR
LE MIROIRLE MIROIR
Proalan.oscardozo70@hotmail.com katherinezapata
Proalan.oscardozo70@hotmail.com katherinezapataProalan.oscardozo70@hotmail.com katherinezapata
Proalan.oscardozo70@hotmail.com katherinezapata
ESE DEPARTAMENTAL SOLUCION SALUD
 
advertzoom Oktober 2011
advertzoom Oktober 2011advertzoom Oktober 2011
advertzoom Oktober 2011
advertzoom
 
Informatica
InformaticaInformatica
Informatica
guest63150b
 
Campamento para conmemorar la restauracion del sacerdocio
Campamento para conmemorar  la restauracion del sacerdocioCampamento para conmemorar  la restauracion del sacerdocio
Campamento para conmemorar la restauracion del sacerdocio
USET
 
REDES CURRICULARES Sep.2014-Mar.2014
REDES CURRICULARES Sep.2014-Mar.2014REDES CURRICULARES Sep.2014-Mar.2014
REDES CURRICULARES Sep.2014-Mar.2014
Iván Ayala
 
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
mariejura
 
CV
CVCV
02 Sacale partido a tu android bateria
02 Sacale partido a tu android   bateria02 Sacale partido a tu android   bateria
02 Sacale partido a tu android bateria
Punto Vuela Guadalinfo Sanlucar la Mayor
 
6.1.3. cr-audit-des-comptes
6.1.3. cr-audit-des-comptes6.1.3. cr-audit-des-comptes
6.1.3. cr-audit-des-comptes
bamaparis
 
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICOAllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
germaingse
 
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
Oeko-Institut
 
Belgien, schueler
Belgien, schuelerBelgien, schueler
Belgien, schuelerYPEPTH
 
Reglamento arbitraje fr
Reglamento arbitraje frReglamento arbitraje fr
Qualimatest - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
Qualimatest  - Systemintegrator Von VISION & AUTOMATION für die MedizintechnikQualimatest  - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
Qualimatest - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
Ivan Meissner
 
Klasse b, vorbereitung klassenarbeit nr. 2
Klasse b, vorbereitung klassenarbeit nr. 2Klasse b, vorbereitung klassenarbeit nr. 2
Klasse b, vorbereitung klassenarbeit nr. 2YPEPTH
 
Prometheus
PrometheusPrometheus
Prometheus
YPEPTH
 
Lettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple FrançaisLettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple FrançaisDominique Dord
 

Destacado (20)

Présentation d'Éric Bertrand
Présentation d'Éric BertrandPrésentation d'Éric Bertrand
Présentation d'Éric Bertrand
 
La signature du ridicule : Usage politique et détournement du sens dans les p...
La signature du ridicule : Usage politique et détournement du sens dans les p...La signature du ridicule : Usage politique et détournement du sens dans les p...
La signature du ridicule : Usage politique et détournement du sens dans les p...
 
LE MIROIR
LE MIROIRLE MIROIR
LE MIROIR
 
Proalan.oscardozo70@hotmail.com katherinezapata
Proalan.oscardozo70@hotmail.com katherinezapataProalan.oscardozo70@hotmail.com katherinezapata
Proalan.oscardozo70@hotmail.com katherinezapata
 
advertzoom Oktober 2011
advertzoom Oktober 2011advertzoom Oktober 2011
advertzoom Oktober 2011
 
Informatica
InformaticaInformatica
Informatica
 
Campamento para conmemorar la restauracion del sacerdocio
Campamento para conmemorar  la restauracion del sacerdocioCampamento para conmemorar  la restauracion del sacerdocio
Campamento para conmemorar la restauracion del sacerdocio
 
REDES CURRICULARES Sep.2014-Mar.2014
REDES CURRICULARES Sep.2014-Mar.2014REDES CURRICULARES Sep.2014-Mar.2014
REDES CURRICULARES Sep.2014-Mar.2014
 
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
Mtourisme - Le Jura dans la poche : avant, pendant, aprés...
 
CV
CVCV
CV
 
02 Sacale partido a tu android bateria
02 Sacale partido a tu android   bateria02 Sacale partido a tu android   bateria
02 Sacale partido a tu android bateria
 
6.1.3. cr-audit-des-comptes
6.1.3. cr-audit-des-comptes6.1.3. cr-audit-des-comptes
6.1.3. cr-audit-des-comptes
 
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICOAllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
AllendeASPECTOS SOCIOCULTURALES DE LAS LENGUAS INDÍGENAS DE MÉXICO
 
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
Zusammenhang von Design, Produktnutzung und Lebensdauer bei Elektro- und Elek...
 
Belgien, schueler
Belgien, schuelerBelgien, schueler
Belgien, schueler
 
Reglamento arbitraje fr
Reglamento arbitraje frReglamento arbitraje fr
Reglamento arbitraje fr
 
Qualimatest - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
Qualimatest  - Systemintegrator Von VISION & AUTOMATION für die MedizintechnikQualimatest  - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
Qualimatest - Systemintegrator Von VISION & AUTOMATION für die Medizintechnik
 
Klasse b, vorbereitung klassenarbeit nr. 2
Klasse b, vorbereitung klassenarbeit nr. 2Klasse b, vorbereitung klassenarbeit nr. 2
Klasse b, vorbereitung klassenarbeit nr. 2
 
Prometheus
PrometheusPrometheus
Prometheus
 
Lettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple FrançaisLettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple Français
 

Similar a Presentacion de integracion continua (lima agile)

Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
Jose Patricio Bovet Derpich
 
Net Beans
Net BeansNet Beans
Net Beans
Pablo perez
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
Mariano German Egui
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
Silvana Vargas
 
Maven
MavenMaven
Tarea 6
Tarea 6Tarea 6
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Angel Nuñez
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
Ernesto Cardenas Cangahuala
 
Presentación Java que explica los elementos iniciales de programación en Java
Presentación Java que explica los elementos iniciales de programación en JavaPresentación Java que explica los elementos iniciales de programación en Java
Presentación Java que explica los elementos iniciales de programación en Java
srchinaski1985
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
AngelDX
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
mikaelsorai
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
Facultad de Ciencias y Sistemas
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
sena
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
Manuel Carrasco Moñino
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
Santiago Sora
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
Alejandro Pinzon
 
Sercicios web
Sercicios webSercicios web
Sercicios web
Antonio Torres
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Saviotec
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Alexandra Feijoo
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
Saviotec
 

Similar a Presentacion de integracion continua (lima agile) (20)

Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Net Beans
Net BeansNet Beans
Net Beans
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Maven
MavenMaven
Maven
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 
Presentación Java que explica los elementos iniciales de programación en Java
Presentación Java que explica los elementos iniciales de programación en JavaPresentación Java que explica los elementos iniciales de programación en Java
Presentación Java que explica los elementos iniciales de programación en Java
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 

Presentacion de integracion continua (lima agile)

  • 1. Edwin Farfan Colan Consultor Java SCJP 5.0 AP JOEDAYZ E-mail: edwin.farfan@joedayz.org Blog: www.edwinfarfan.blogspot.com Twitter: edwinfarfan
  • 2. Integración Continua Power tools getting all together
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. Subversion Nexus Sonar Hudson MySql Internet Developer FeedBack Developer Developer Commit Commit Commit
  • 7. 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
  • 8. 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.
  • 9. Maven Herramienta 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 .
  • 10. 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.
  • 11. Puedes generar un repositorio local para los Jars (o librerias), donde estarán almacenados localmente o remotamente en un servidor.
  • 12. 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.
  • 13. Nexus
  • 14. 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.
  • 15.  
  • 16. 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.
  • 17. Sonar
  • 18. 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
  • 19. 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.