Integrar Continuamente

Objetivos

El objetivo de este proceso es el de realizar la integración continua, para garantizar que los cambios realizados no afectan a funcionalidades ya desarrolladas e integrarlo en el servidor de desarrollo.

Este proceso se realizará automáticamente, al finalizar cada una de las jornadas de desarrollo. Lo único que habrá que hacer es comprobar que la integración automática se ha realizado correctamente, al día siguiente.

Con los Test Unitarios y de Integración de salida del proceso de desarrollo, tenemos “pruebas” de que algo funciona correctamente. Para garantizar que los tests unitarios que estaban funcionando lo siguen haciendo con el nuevo código, el integrador (Jenkins), ejecuta todos los Test Unitarios antes de publicar la build.

Roles

Los siguientes son los roles participantes en este proceso:

Rol Tareas que interviene
Gestor de la Calidad MDA-TR-1.0-QS-Integración Continua
MDA-TR-1.0-QS-Comprobar Resultados Build

Tareas

En esta fase entra en juego el Servidor de Integración Continua Jenkins. Los proyectos referentes a cada entorno tienen que estar configurados en dicho servidor. La orden de creación de los proyectos se indica en el proceso Definicion del Proyecto de la disciplina de Gestión de Proyecto.

Esta tarea del proceso es de especial ayuda para el proceso de Integración de la disciplina de Desarrollo, Ya que permite realizar una compilación completa del código fuente del proyecto de la rama del SVN configurada en el servidor, y además permite ejecutar los test unitarios y de integración configurados.

Para comprobar los resultados de la build, bastará con conectarse al servidor Jenkins y ver si la ultima tarea ejecutada se realizó correctamente. Esta comprobación se realizará a primera hora de la mañana, verificando la integración del código desarrollado el dia anterior.

El circulo que aparece en a la izquierda de la tarea, según el color que sea indicará si ha sido realizada con éxito o no.

En caso de que sea azul se habrá ejecutado con éxito, un círculo rojo indicará lo contrario.

Los casos de error pueden ser debidos

  • Fallo de compilación. Alguien ha subido un cambio que hace que se descompile el proyecto.
  • Fallo en la ejecución de tests unitarios. Algun cambio hace que falle la ejecucion de un test que ya funcionaba.

Para comprobar exactamente los fallos que lo provocaron habrá que ir al Espacio de Trabajo y en los logs de ejecucion de maven ver las causas.

Adicionalmete se podrá probar las últimas funcionalidades en el servidor de desarrollo para comprobar que éstas han sido recogidas correctamente.

En caso de que corresponda se pondrá un JIRA al desarrollador responsable para que trate de solucionarlo correctamente con la siguiente estructura.

Tipo Descripción Disciplina Proceso Label Version Fijada
Subtarea Nombre de la Tarea DesarrolloDE-Crear componentes IC [Versión del proyecto]

Donde en la descripción de la tarea se especificará datos sobre el error detectado.

Artefactos

Artefacto SIGLAS Nomenclatura Ubicación
Test Unitarios /Proyecto/Fuentes/
Test Integracion /Proyecto/Fuentes/
Codigo Fuente /Proyecto/Fuentes/
Artefacto SIGLAS Nomenclatura Ubicación
JIRA https://jira.atica.um.es/
Resultado Build https://jenkins.um.es/

Herramientas

Herramienta Version Utilizada en Descarga
Jenkins 1.651 Integración Continua y Comprobar Resultados de la Build https://jenkins.um.es/

Métricas

Las métricas del proyecto se guardarán dentro de la carpeta del proyecto en Proyecto/Documentacion/1.Gestionproyecto/1.4.Metricas. Las métricas de este proceso en concreto se almacenan en la Hoja QS.

  1. Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto.
  • project = ClaveDelProyecto
  • Disciplina-Proceso = Desarrollo-DE-Crear componentes
  • label=IC

Pulsa el botón Search

Usa la Plantilla de Seguimiento tal y como se indica en el apartado Calcular tiempos con Jira.

  • mda/qs/mda-pr-1.0-qs-integrar_continuamente.txt
  • Última modificación: 07/11/2017 10:46
  • (editor externo)