Skip to content

1 Integración continua CI

Ilya Kabushko edited this page Feb 14, 2020 · 1 revision

continuous integration

Definición

Consiste en integrar nuevo código implementado continuamente en el repositorio, verificando en el proceso que el código viejo junto al nuevo, sigue funcionando correctamente y cumple con los estándares de calidad establecidos.

Cada integración de código es verificada por una construcción automatizada. En esa construcción se incluye la ejecución de pruebas automáticas para detectar fallos o errores. A este tipo de pruebas se les llaman pruebas de regresión. Cuando se produce un fallo en la prueba, se debe a que el resultado de la ejecución de la prueba no corresponde con el esperado esperado por su ejecución. Y un error en la prueba se produce cuando se produce algún tipo de excepción en su ejecución. (NullPointer, IndexOutOfBounds...)

Entornos

Entorno de producción

entorno en el que se ejecuta la aplicación para su explotación. "Deploy Computer"

Entorno de pre-producción

simulación del entorno de producción, con las características de las maquinas del usuario final. Con el objetivo de realizar pruebas (aceptación y ...) para evitar desastres en el entorno de producción."Continuous Integration Computer" Travis Server

Entorno de integración continua

repositorio remoto, donde se gestionan las ramas del código con sus versiones. "Collaborative Software Computer" https://github.com/Ruskab/agrimManager

Entorno local

es el entorno del local del desarrollador, el ordenador donde se implementa nuevo código.

Objetivos de integración continua

  • mantener un unico repositorio de codigo
  • Automatizar las construcciones
  • Automatizar los despliegues
  • Probar en un entorno de pre-produccion
  • Facilitar la obtención del ultimo ejecutable -> releases
  • Mantenerse informado sobre el estado del proyecto -> Travis (radiador de información)

Ejemplo en este proyecto

Github CI

  • unit tests + Integrations tests (sin desplegar la aplicación)
  • test de Integración atacando a la API (en la aplicación delplegada en un tomcat en docker)

Travis CI

  • Todos los tests (en la aplicación delplegada en un tomcat en docker)

Clone this wiki locally