[HDP-160] Integración Continua
- Pronoide Wiki Web
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