DevOps Foundations for Java with Git, Jenkins, and Maven

Categorías: ,

Descripción

DevOps es la combinación de filosofías, prácticas y herramientas que vienen generando cambios culturales para aumenta la capacidad de una organización para entregar aplicaciones y servicios a alta velocidad. Bajo un modelo DevOps, los equipos de desarrollo y operaciones ya no están «aislados». El equipo de control de calidad también se integra más estrechamente con el desarrollo y las operaciones y durante todo el ciclo de vida de la aplicación. El curso DevOps BootCamp de Formación TI cubre los principios y herramientas necesarios para la implementación integral de DevOps entorno a una solución usando java. En esta formación, los asistentes aprenderán:

  • Que es DevOps
  • Control de versiones con Git
  • Cree proyectos Java con Maven
  • Integración continua con Jenkins
  • Integra Git con Jenkins
  • Implemente la calidad de código continua con SonarQube

Audiencia:

Desarrolladores de software, jefes de equipo, arquitectos empresariales, arquitectos de soluciones y arquitectos de tecnologías de la información

Pre-requisitos:

Algo de conocimiento de Java con desarrollo de aplicaciones web

Temario

    • Por qué DevOps
    • ¿Qué es DevOps?
    • Equipos colaborativos, matriciales y multifuncionales
    • Componentes clave de los equipos de DevOps exitosos
    • DevOps-ificación
    • Vocabulario de DevOps
    • Objetivos de DevOps
    • No DevOps: aplasta las palabras de moda
    • Impulsar los resultados comerciales con DevOps
    • Negocio habilitado por la tecnología
    • Habilitador clave de DevOps para la transformación digital
    • Valores fundamentales y misión
    • Valores fundamentales: cultura
    • Valores fundamentales: automatización
    • Valores fundamentales: medición
    • Valores fundamentales: compartir
    • Comunicación
    • Colaboración
    • Mapeo de flujo de valor
    • Patrones de comportamiento para el éxito
    • Estructuras de organización de DevOps
    • Equipo de DevOps – Separado
    • Organización fusionada de DevOps
    • Organización superpuesta de DevOps
    • Liderazgo de la estructura organizativa
    • ¿Qué significa entrega continua?
    • Canalizaciones de implementación
    • Su organización está haciendo CD si …
    • Canalización para CD
    • Integración continua
    • Canalización de CI
    • Metodologías CD & CI
    • Categorías de herramientas clave para CI / CD
    • Resumen

 

    • Que es Git
    • Objetivos de diseño de Git
    • Objetivos de diseño de Git (continuación)
    • Ramificación y fusión
    • Ramificación y fusión (continuación)
    • Control de versiones centralizado
    • Control de versiones distribuidas
    • Conceptos básicos de Git
    • Conceptos básicos de Git (continuación)
    • Conceptos básicos de Git (continuación)
    • Obteniendo Git
    • Git en el servidor
    • Administradores de repositorios de Git
    • Git en el servidor de otra persona
    • Resumen
    • Usando Git
    • Definiciones
    • Definiciones (continuación)
    • Repositorio (continuación)
    • Definiciones (continuación)
    • Cometer
    • Comprometerse (continuación)
    • Cómo pensar en los compromisos
    • Ver historial
    • Configurando Git
    • Alcance de la configuración
    • Identificación de usuario
    • Identificación de usuario (continuación)
    • Firma GPG
    • Guardia de privacidad de GNU
    • Conceptos básicos de GPG
    • GPG y Git
    • .gitignore
    • Otras configuraciones útiles
    • Resumen
    • Derivación
    • Sucursales en Git
    • Ramas en Git (continuación)
    • Unir
    • Fusionar (continuación)
    • Fusión de avance rápido
    • –no-ff
    • Más de un repositorio
    • Trabajar con controles remotos
    • Buscar y tirar
    • Empujar
    • Solicitudes de extracción
    • Etiquetar una confirmación
    • Etiquetas ligeras
    • Etiquetas anotadas
    • Compartir etiquetas
    • Comprobación de una etiqueta
    • Resumen
    • ¿Por qué utilizar un flujo de trabajo SCM?
    • ¿Por qué utilizar un flujo de trabajo SCM? (Cond.)
    • ¿Qué es Git Flow?
    • Beneficios
    • ¿Cómo funciona Git Flow?
    • ¿Cómo funciona Git Flow? (Cont.)
    • ¿Qué es Git Flow? (Cont.)
    • ¿Cómo funciona Git Flow? (Cont.)
    • Extensión Git Flow
    • Inicializando Git Flow
    • Características
    • Liberación
    • Hotfixes
    • Git Flow e integración continua
    • Git Flow – Resumen
    • Git Flow: pros y contras
    • Git Flow: ¿cuándo funciona mejor?
    • Git Flow: ¿cuándo no funciona?
    • Alternativas de Git Flow
    • Desarrollo basado en troncales
    • Desarrollo basado en troncales (cont.)
    • Desarrollo basado en troncales: ¿cuándo funciona?
    • Desarrollo basado en troncales: ¿cuándo no funciona?
    • Flujo de GitHub
    • Flujo de GitHub: pros y contras
    • Flujo de GitLab
    • GitLab Flow – Ramas de entorno
    • GitLab Flow – Liberar ramas
    • GitLab Flow – Liberar ramas (cont.)
    • GitLab Flow: pros y contras
    • Resumen

 

 

 

    • Calidad de código continua
    • ¿Qué es SonarQube?
    • SonarQube – Beneficios
    • SonarQube (multilingüe)
    • Siete ejes de calidad
    • Errores potenciales
    • Pruebas
    • Comentarios y duplicación
    • Arquitectura y Diseño
    • Complejidad
    • Instalación de SonarQube
    • Componentes de SonarQube
    • Calidad de código (LOC, olor de código)
    • Calidad del código (archivos de proyecto)
    • Calidad del código (código)
    • Resumen

 

 

    • Fundación de Agile AppDev
    • Flujo de XP
    • Programación extrema
    • Desarrollo ágil
    • ¿Qué es la integración continua?
    • ¿Qué es la integración continua (continuación)?
    • Configuración típica para integración continua
    • Notas de configuración para la integración continua
    • CI con gestión de artefactos
    • ¿Qué es la entrega continua?
    • ¿Por qué entrega continua?
    • DevOps y entrega continua
    • Desafíos de entrega continua
    • Entrega continua frente a implementación continua
    • Integración continua de Jenkins
    • Funciones de Jenkins
    • Ejecutando Jenkins
    • Resumen

 

    • Herramientas de compilación para Java
    • Herramientas de compilación para Java (continuación)
    • Historia de las herramientas de construcción
    • Secuencias de comandos tradicionales
    • ‘hacer’
    • Problemas con Make
    • Compilación manual con JavaC
    • HORMIGA
    • Pros y contras de Ant
    • Apache Maven
    • Goles de Maven
    • ¿Qué es Apache Maven?
    • ¿Qué es Apache Maven (continuación)?
    • ¿Por qué utilizar Apache Maven?
    • El EcoSistema Maven
    • Diseño de proyecto consistente y fácil de entender
    • Convención sobre configuración
    • Maven es diferente
    • Los proyectos de Maven tienen una construcción estandarizada
    • Efecto de la convención sobre la configuración
    • Importancia de los complementos
    • ¡Un punto clave en Maven!
    • Resumen: características clave de Maven

 

    • Descargando Maven
    • Instalación de Maven
    • Ejecutar desde la línea de comandos
    • Ejecutando dentro de un IDE
    • Settings.xml
    • Repositorio local
    • Resumen

 

 

    • Descarga e instalación de Jenkins
    • Ejecución de Jenkins como una aplicación independiente
    • Ejecución de Jenkins como una aplicación independiente (continuación)
    • Ejecución de Jenkins en un servidor de aplicaciones
    • La carpeta de inicio de Jenkins
    • Instalación de Jenkins como servicio de Windows
    • Configuracion inicial
    • Asistente de configuración
    • Asistente de configuración (continuación)
    • Configurando herramientas
    • Configuración de herramientas: prácticas recomendadas
    • Iniciar sesión en Jenkins
    • Registradores de registros personalizados
    • Resumen

 

 

    • Introducción
    • Diferentes tipos de artículos de Jenkins
    • Diferentes tipos de artículos de Jenkins (continuación)
    • Configuración de la administración de código fuente (SCM)
    • Trabajando con Subversion
    • Trabajar con Subversion (continuación)
    • Trabajando con Git
    • Almacenamiento de credenciales
    • Cuentas de servicio
    • Almacenamiento de credenciales (continuación)
    • Construir disparadores
    • Programar trabajos de compilación
    • Sondeo del SCM
    • Sondeo vs disparadores
    • Pasos de compilación de Maven
    • Resumen

 

 

    • Un proyecto más complejo
    • Poniéndolo junto con Maven
    • Empaquetado del artefacto objetivo
    • El árbol fuente
    • Dependencias
    • Dependencias transitivas
    • Alcance de la dependencia
    • Trabajar con servidores
    • Declaración y configuración de complementos
    • Ejecutando el complemento
    • Vinculación de un objetivo de complemento al ciclo de vida
    • Arquetipos
    • Resumen

 

 

    • Complementos de Maven
    • Declaración y configuración de complementos
    • Ejecutando el complemento
    • Vinculación de un objetivo de complemento al ciclo de vida
    • Complemento de prueba Maven Surefire
    • Complemento a prueba de fallos
    • Complemento del sitio
    • Complemento JavaDoc
    • Complemento PMD
    • Cobertura de código – Cobertura
    • Resumen

 

 

    • Introducción a los arquetipos de Maven
    • Introducción a los arquetipos de Maven (cont.)
    • Uso del modo interactivo para generar objetivos
    • Arquetipos comunes de Maven
    • Resumen

 

    • Enfoque de Maven a los artefactos
    • Publicar artefactos
    • Resumen del manejo de artefactos de Maven
    • Repositorio
    • Gerente de repositorio
    • Repositorios remotos proxy
    • Tipos de artefactos
    • Liberar artefactos
    • Artefactos de instantáneas
    • Razones para utilizar un administrador de repositorio
    • Coordenadas del repositorio
    • Abordar los recursos en un repositorio
    • Resumen

 

    • ¿Qué es la gestión de versiones?
    • Gestión de versiones con Nexus
    • Gestión de versiones con Maven
    • Resumen

 

    • Introducción
    • Complementos de Jenkins – SCM
    • Complementos de Jenkins: compilación y prueba
    • Complementos de Jenkins – Analizadores
    • Jenkins para equipos
    • Instalación de complementos de Jenkins
    • Resumen

 

    • Seguridad de Jenkins: descripción general
    • Seguridad de Jenkins
    • Autenticación
    • Autorización
    • Confidencialidad
    • Activando la seguridad
    • Configurar la autenticación
    • Uso de la base de datos de usuarios internos de Jenkins
    • Crear usuarios
    • Autorización
    • Seguridad basada en matrices
    • Nota: cree el usuario administrativo
    • Autorización de matriz basada en proyectos
    • Autenticación basada en proyectos
    • Control de acceso basado en roles
    • Conclusión

 

    • Compilaciones distribuidas: descripción general
    • Construcciones distribuidas: ¿cómo?
    • Máquinas de agentes
    • Configurar Jenkins Master
    • Configurar proyectos
    • Conclusión

 

 

    • Entrega continua
    • Entrega continua (continuación)
    • DevOps y entrega continua
    • Desafíos de entrega continua
    • Entrega continua con Jenkins
    • El complemento Pipeline
    • El complemento Pipeline (continuación)
    • Definición de una tubería
    • Un ejemplo de canalización
    • Ejemplo de canalización (continuación)
    • Ejecución paralela
    • Crear una canalización
    • Invocar el Pipeline
    • Interactuar con el Pipeline
    • Pipeline vs trabajos tradicionales
    • Conclusión

 

 

    • Prácticas recomendadas: seguridad en Jenkins
    • Prácticas recomendadas: usuarios
    • Prácticas recomendadas: copias de seguridad
    • Prácticas recomendadas: compilaciones reproducibles
    • Prácticas recomendadas: pruebas e informes
    • Prácticas recomendadas: sistemas grandes
    • Prácticas recomendadas: Jenkins distribuido
    • Prácticas recomendadas: resumen

 

 

    • Lab 1. Version Control – Git
    • Lab 2. Branching, Merging and Working with Remotes
    • Lab 3. GitFlow Workflow
    • Lab 4. Configure Tools in Jenkins
    • Lab 5. Install Maven
    • Lab 6. Create a Maven Project
    • Lab 7. Create a Web Application from an Archetype
    • Lab 8. Add Web Site, Static Analysis, and Code Coverage
    • Lab 9. Create a Jenkins Job
    • Lab 10. A Multi-Module Project
    • Lab 11. Create a Standard Set of Dependencies
    • Lab 12. Write a Simple Maven Plugin
    • Lab 13. Create an Archetype
    • Lab 14. Create a Corporate Repository
    • Lab 15. Deploy to the Corporate Repository
    • Lab 16. Add Development Metrics
    • Lab 17. Create a Pipeline

 

Descargar temario

Información adicional

Fecha

24/04/2022

Duración

40 horas

Estado

Abierto