[HDP-160] Integración Continua
Este curso abarca el uso de Maven para gestión de proyectos, control de versiones con Git/Gerrit, y automatización con Jenkins. Incluye configuraciones, pipelines, métricas de calidad con Sonar y análisis de código.
Duración: 20 horas
Perfil: Avanzado
Dirigido a
Esta acción formativa va dirigida a programadores, analistas, jefes de proyecto y arquitectos Java interesados en mejorar sus procesos de desarrollo mediante la automatización y la integración continua. Es adecuado para aquellos que buscan optimizar la calidad del código, la gestión de versiones y la entrega de software.
Requisitos previos
Los alumnos necesitarán tener experiencia con el lenguaje de programación Java, así como de Servlets, JSP y el patrón MVC previos para poder comprender la materia del curso con éxito.
Objetivos
Aprender a configurar y gestionar proyectos utilizando Maven, integrando dependencias, perfiles y plugins.
Implementar control de versiones eficaz con Git/Gerrit para manejar el ciclo de vida de un proyecto.
Automatizar la integración continua y los pipelines de entrega con Jenkins, gestionando errores y optimizando procesos.
Realizar análisis de calidad de código utilizando herramientas como Sonar, Checkstyle y PMD, y aplicar métricas de ingeniería de software para mejorar la calidad del proyecto.
Desarrollar habilidades para gestionar proyectos no Java y securizar entornos de desarrollo.
Contenido
Introducción a Maven
Instalación y configuración inicial
Principales características y ventajas
Uso de arquetipos para generar proyectos estándar
Estructura de un proyecto Maven
Configuración de usuario y personalización
Ciclo de vida de Maven: fases y ejecución
Gestión de dependencias y herencia de proyectos
Perfiles y configuración por entorno
Gestión de recursos y plugins
Repositorios locales y empresariales
Control de Versiones con Git/Gerrit
Introducción al control de versiones y flujo de trabajo
Clonación y checkout inicial de repositorios
Ciclo de cambios: actualizar, modificar, revisar y realizar commit
Revisión de cambios y gestión del historial
Estrategias de branching: tagging, branching y merge
Desarrollo paralelo y resolución de conflictos
Automatización e Integración Continua con Jenkins
Instalación y configuración básica de Jenkins
Creación y gestión de pipelines de integración continua
Uso de Jenkinsfile: sintaxis declarativa y gestión de errores
Stashing de código y manejo de nodos, etapas y pasos
Configuración de etapas paralelas y parametrización de tareas
Optimización de la experiencia de usuario con Blue Ocean
Calidad y Métricas de Código con SonarQube
Configuración y análisis de proyectos en SonarQube
Reglas y estándares de codificación
Uso de herramientas de análisis estático: Checkstyle, PMD, FindBugs y Clover
Métricas de ingeniería de software y control de pruebas
Evaluación y evolución temporal del proyecto
Securización y Soporte Multilenguaje
Estrategias para proteger entornos de desarrollo
Configuración de Jenkins para proyectos no Java
Documentación Recomendada
Learning Continuous Integration with Jenkins, Third Edition
Nikhil Pathania
Jan 2024 | 396 pages
https://www.packtpub.com/en-us/product/learning-continuous-integration-with-jenkins-9781835081129