Descripción
La definición de Integración Continua según Martin Fowler, la define como una práctica de desarrollo de software donde los miembros del equipo integran su trabajo de forma frecuente, por lo general cada persona se integra al menos diariamente, dando lugar a múltiples integraciones por día. Cada integración es verificada por una generación automática para detectar errores de integración más rápidamente.
Esta definición, propuesta por Martin Fowler, del concepto de compilación y ejecución de test de un proyecto de forma diaria, es hoy en día una de las técnicas de programación más utilizadas.
Objetivos
Curso dirigido a desarrolladores que tratará los aspectos básicos de la integración continua, centrándose siempre en cómo obtener el feedback lo más rápido posible cuando hay cambios en el proyecto. Se abordarán tareas de automatización y de test automático, y se darán las pautas para generar builds eficientes.
También se explicará cómo introducir esta práctica en una organización y en proyectos ya existentes.
Contenido
Introducción
Trabajar con ramas.
Problemática
¿Qué es integración continua?
Prácticas para la CI
Tests automáticos. Importancia
de saber diferenciar los diferentes tipos.
Práctica:
Escribir test unitario y de integración de un DAO
Construcción de la base de
datos
Práctica: configurar y usar una
herramienta de construcción de BD
Scripts de automatización
Servidor de integración continua
Práctica: Configuración de
Jenkins para construir un proyecto en cada commit
Optimización
Modularización del proyectoTrabajar con test de
integración con BBDD en memoriaNightly
buildsPipelinesPráctica:
Montar una nightly build
Métricas pre y post commit
Estrategias para implantar CI
en una organización.
Preguntas