atSistemas - Presentación Integración Continua AUG Barcelona enero13
Upcoming SlideShare
Loading in...5
×
 

atSistemas - Presentación Integración Continua AUG Barcelona enero13

on

  • 1,007 views

 

Statistics

Views

Total Views
1,007
Views on SlideShare
994
Embed Views
13

Actions

Likes
0
Downloads
26
Comments
0

2 Embeds 13

https://twitter.com 12
https://mail.google.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

atSistemas - Presentación Integración Continua AUG Barcelona enero13 atSistemas - Presentación Integración Continua AUG Barcelona enero13 Presentation Transcript

  • Integración continuaIrene Comalada – atSistemas
  • Índice1- Introducción2- Procedimiento3- Caso práctico4- Conclusiones5- Foro abierto
  • 1. IntroducciónIntegración Continua● Objetivo: Realización de despliegues diarios o suficientemente a menudo como para justificar montar una estructura de despliegues, compilación y propagación de nuevas versiones.● Permite que la construcción y ejecución de pruebas sea realizada cada vez que el código cambia o cuando se configure.● Detección y solución de dependencias e incompatibilidades en el código.● El proceso de build diario minimiza los riesgos de integración porque los problemas son identificados continuamente.● Comprueba la calidad de código.
  • 2. ProcedimientoIC - Procedimiento● Los desarrolladores del equipo hacen modificaciones en el código fuente, compilan y ejecutan las pruebas unitarias automatizadas y hacen el check-in (o commit) del código en la línea activa del desarrollo en la herramienta de control de versiones.● La herramienta de integración continua verifica si nuevo código se ha colocado en la línea activa del software de control de versiones.● La herramienta de integración continua extrae todo el código fuente y compila en el servidor de preproducción que tiene por objetivo generar builds limpios.● Si compila, se ejecuta: compilar y ejecutar pruebas unitarias, pruebas de aceptación, generar información de las pruebas, de la cobertura y de análisis estático de código.● Se actualizan los datos con los resultados.● La herramienta envía mensajes (por email) para el equipo informando el resultado del proceso de build durante la integración continua.
  • 3. Caso prácticoObjetivos OBJETIVOS Descripción Reducción del número de errores encontrados en entornos de preproducción y producción. Automatizar la auditoría del código Reducción del Código inestable subido a SVN (con errores o incompleto) Reducir las colisiones en las modificaciones de código simulténo en trabajo de desarrollo en equipo Reducción del número de errores encontrados en entornos de preproducción y producción. Agilizar los procesos de despliegue de versión en los entornos. Cobertura de las pruebas unitarias Garantizar la ausencia de errores en los test de regresión Monitorización del cumplimiento de las buenas prácticas Reducir el tiempo del ciclo de vida de testeo .
  • 3. Caso prácticoPila tecnológica Cobertura
  • 3. Caso prácticoTareas a realizar● Definición del plan de implantación.● Instalación de los productos: Jira, Jenkins, Nexus, Sonar, SVN.● Configuración de los productos.● Creación de las comunicaciones a medida.● Creación de reglas de validación a medida.
  • 3. Caso práctico – Diagrama de sistemas Oracle SVN failover SVNJenkins Slave Jenkins master Jira Sonar Nexus Jira failover Sonar failover
  • 3. Caso práctico - Desarrollo Internet Repostorio de IDE Artefactos Corporativo Repositorio Local Maven Dependencias Repositorios Públicos Publica artefactos Dependencias Notificaciones IDE Repositorio Local Maven Etiqueta CambiosCambios Servidor de Integración Entorno de Pruebas Repositorio de Código Continua Consulta Gestiona Ejecución Servidor de Análisis de Calidad
  • 3. Caso práctico - Despliegues Internet Repostorio de Artefactos Corporativo Repositorios Públicos Recoge artefactos Petición de despliegue Despliega Actualización de resultadoJira Servidor de Integración Entorno de Pruebas Continua
  • 3. Caso práctico - DemostraciónJira
  • 3. Caso práctico - DemostraciónJenkins
  • 3. Caso práctico - Demostración Jenkins● Ofrece plugin de integración Jira: detecta el identificador de issue en el mensaje de confirmación y lo comenta con el resultado del build.
  • 3. Caso práctico - DemostraciónBamboo ● A nivel de proyecto ● A nivel de versión
  • 3. Caso práctico - DemostraciónNexus
  • 3. Caso práctico - Demostración SonarNota: no es una pantalla Sonar del proyecto real. No se ha obtenido el permiso necesario.
  • 3. Caso práctico CONSECUCIÓN DE OBJETIVOSConsecución Descripción Métrica Reducción del número de errores encontrados en Reducción del 75% de los errores entornos de preproducción y producción. En una posible nueva fase. Con Automatizar la auditoría del código Selenium. Reducción del Código inestable subido a SVN (con errores Reducción del 50% de los errores o incompleto) Reducir las colisiones en las modificaciones de código Avisos y notificaciones mail simulténo en trabajo de desarrollo en equipo Control de dependencias con Maven Sistema transitivo y de herencias Agilizar los procesos de despliegue de versión en los Creación de workflows y despliegue entornos. según entorno Cobertura de las pruebas unitarias y ratio de éxito. Métrica en Sonar En una posible nueva fase. Garantizar la ausencia de errores en los test de regresión Con Selenium Métrica en Sonar Monitorización del cumplimiento de las buenas prácticas Reuducir el tiempo del ciclo de vida de testeo . Reducción del 50% del tiempo
  • 4. Conclusiones● Tener métricas de la cálidad de código es vital para iniciar un proceso de mejora continua “No se puede mejorar aquello que no se puede medir”● Invertir en calidad de código es altamente rentable● Es posible mejorar la calidad del código a la vez que se desarrolla sin necesidad de parar el desarrollo● IC y TDD te permiten no sólo aumentar la calidad del código sino aumentar la productividad de todo el equipo de desarrollo● Asegurar la calidad código desarrollo es asegurar el éxito de la puesta en producción.● La formación y hacerse propia las herramientas y metodologías de trabajo son imprescindibles para garantizar un éxito duradero en el tiempo.
  • Foro abierto
  • http://kcy.me/e6eu
  • Muchas gracias por vuestra atención