atsistemas - presentación integración continua aug barcelona enero13

21
Integración continua Irene Comalada – atSistemas

Upload: atsistemas

Post on 05-Dec-2014

1.117 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: atSistemas - Presentación Integración Continua AUG Barcelona enero13

Integración continuaIrene Comalada – atSistemas

Page 2: atSistemas - Presentación Integración Continua AUG Barcelona enero13

Índice

1- Introducción2- Procedimiento3- Caso práctico4- Conclusiones5- Foro abierto

Page 3: atSistemas - Presentación Integración Continua AUG Barcelona enero13

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

1. Introducción

Integración Continua

Page 4: atSistemas - Presentación Integración Continua AUG Barcelona enero13

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

2. Procedimiento

IC - Procedimiento

Page 5: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico

ObjetivosOBJETIVOSDescripció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 .

Page 6: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico

Pila tecnológica

Cobertura

Page 7: atSistemas - Presentación Integración Continua AUG Barcelona enero13

● 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

Tareas a realizar

Page 8: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico – Diagrama de sistemas

Jenkins masterNexus

SVN

Jenkins SlaveJira

Oracle

Sonar

SVN failover

Jira failover Sonar failover

Page 9: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Desarrollo

IDERepositorio Local Maven

IDERepositorio Local Maven

Repostorio de Artefactos Corporativo

Internet

Repositorios Públicos

Repositorio de Código

Dependencias

CambiosCambios

Servidor de Integración Continua

Dependencias

Notificaciones

Servidor de Análisis de Calidad

Gestiona Ejecución

Entorno de Pruebas

Consulta

Etiqueta

Publica artefactos

Page 10: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Despliegues

Repostorio de Artefactos Corporativo

Internet

Repositorios Públicos

Recoge artefactos

Entorno de Pruebas

Despliega

Servidor de Integración Continua

Jira

Petición de despliegue

Actualización de resultado

Page 11: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Demostración

Jira

Page 12: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Demostración

Jenkins

Page 13: atSistemas - Presentación Integración Continua AUG Barcelona enero13

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.

Page 14: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Demostración

Bamboo

● A nivel de proyecto

● A nivel de versión

Page 15: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Demostración

Nexus

Page 16: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso práctico - Demostración

Sonar

Nota: no es una pantalla Sonar del proyecto real. No se ha obtenido el permiso necesario.

Page 17: atSistemas - Presentación Integración Continua AUG Barcelona enero13

3. Caso prácticoCONSECUCIÓN DE OBJETIVOS

Consecución Descripción Métrica

Reducción del número de errores encontrados en entornos de preproducción y producción.

Reducción del 75% de los errores

Automatizar la auditoría del códigoEn una posible nueva fase. Con

Selenium.

Reducción del Código inestable subido a SVN (con errores o incompleto)

Reducción del 50% de los errores

Reducir las colisiones en las modificaciones de código simulténo en trabajo de desarrollo en equipo

Avisos y notificaciones mail

Control de dependencias con Maven Sistema transitivo y de herencias

Agilizar los procesos de despliegue de versión en los entornos.

Creación de workflows y despliegue según entorno

Cobertura de las pruebas unitarias y ratio de éxito. Métrica en Sonar

Garantizar la ausencia de errores en los test de regresión

En una posible nueva fase.Con Selenium

Monitorización del cumplimiento de las buenas prácticas

Métrica en Sonar

Reuducir el tiempo del ciclo de vida de testeo . Reducción del 50% del tiempo

Page 18: atSistemas - Presentación Integración Continua AUG Barcelona enero13

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.

Page 19: atSistemas - Presentación Integración Continua AUG Barcelona enero13

Foro abierto

Page 20: atSistemas - Presentación Integración Continua AUG Barcelona enero13

http://kcy.me/e6eu

Page 21: atSistemas - Presentación Integración Continua AUG Barcelona enero13

Muchas gracias por vuestra atención