[HDP-160] Integración Continua

[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

  1. Introducción a Maven

    1. Instalación y configuración inicial

    2. Principales características y ventajas

    3. Uso de arquetipos para generar proyectos estándar

    4. Estructura de un proyecto Maven

    5. Configuración de usuario y personalización

    6. Ciclo de vida de Maven: fases y ejecución

    7. Gestión de dependencias y herencia de proyectos

    8. Perfiles y configuración por entorno

    9. Gestión de recursos y plugins

    10. Repositorios locales y empresariales

  2. Control de Versiones con Git/Gerrit

    1. Introducción al control de versiones y flujo de trabajo

    2. Clonación y checkout inicial de repositorios

    3. Ciclo de cambios: actualizar, modificar, revisar y realizar commit

    4. Revisión de cambios y gestión del historial

    5. Estrategias de branching: tagging, branching y merge

    6. Desarrollo paralelo y resolución de conflictos

  3. Automatización e Integración Continua con Jenkins

    1. Instalación y configuración básica de Jenkins

    2. Creación y gestión de pipelines de integración continua

    3. Uso de Jenkinsfile: sintaxis declarativa y gestión de errores

    4. Stashing de código y manejo de nodos, etapas y pasos

    5. Configuración de etapas paralelas y parametrización de tareas

    6. Optimización de la experiencia de usuario con Blue Ocean

  4. Calidad y Métricas de Código con SonarQube

    1. Configuración y análisis de proyectos en SonarQube

    2. Reglas y estándares de codificación

    3. Uso de herramientas de análisis estático: Checkstyle, PMD, FindBugs y Clover

    4. Métricas de ingeniería de software y control de pruebas

    5. Evaluación y evolución temporal del proyecto

  5. Securización y Soporte Multilenguaje

    1. Estrategias para proteger entornos de desarrollo

    2. 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