Taller Online de Integración y Entrega Continua (TIEC)

 

Este taller aborda con un enfoque hands-on las prácticas de Integración Continua y Entrega continua. El taller se dicta en una modalidad blended combinando encuentros online con tareas que los alumnos deberán realizar entre encuentro y encuentro.

La integración continua es un práctica que surgió a fines de los 90’ junto con eXtreme Programming pero en los últimos años con el auge de Agile ha ganado mucha popularidad. La Entrega Continua es una práctica que extiende la propuesta de Integración Continua y potencia sus beneficios. La práctica de Entrega Continua fue formalizada como tal en 2010 con la publicación del libro Continuous Delivery de Humble & Farley y se ha posicionado como una de las prácticas centrales del movimiento DevOps.

Los encuentros online estarán dedicados a repasar los fundamentos de estas prácticas, debatir cuestiones de diseño y despejar dudas de los participantes. Más allá de los encuentros online, los participantes realizarán tareas de distintos tipo las cuales incluirán: textos, videos y ejercicios de diseño e implementación. El taller apunta a que los participantes puedan poner en práctica de forma inmediata las cuestiones vistas en el taller sobre sus propios proyectos. 

A lo largo del taller se verán distintos conceptos que se pondrán en práctica con herramientas tales como Jenkins, TravisCI, GitLab, GitHub, SonarQube, Nexus y Gradle entre otras.

Como actividad final del taller los participantes deberán presentar un diseño de implementación que se ajuste a sus necesidades de proyecto.

Requisitos:

Los participantes deben estar familiarizados con las siguientes herramientas/tecnologías:

  • Git

  • Desarrollo Web

  • Alguno de los siguientes lenguajes de programación: Java, C-Sharp o Javascript

Al mismo tiempo cada participante necesitará contar con una máquina con al menos 4 GB de memoria y 20 GB de disco. Los participantes deberán tener permisos de administrador (sudo) de sus máquinas para poder modificar la configuración de sus sistemas.

Destinado a:

El taller está destinado perfiles técnicos dentro un área de desarrollo/operaciones:

  • Desarrolladores

  • Administradores de sistemas

  • Testers

  • Arquitectos

  • Líderes técnicos

Más allá del perfil particular de cada participante es imprescindible cumplir con los pre-requisitos.

Temario:

  1. Fundamentos de Integración Continua

  2. Versionado de código: Baseline, Branches y Tags

  3. Trunk-Based Development vs GitFlow

  4. Definición de Builds

  5. Anatomía del un Build

  6. El rol del Build Server

  7. Anatomía del Build Job

  8. Métricas de código y Linters

  9. Modelos de Build Server: Jenkins vs TravisCI

  10. Fundamentos de Entrega Continua

  11. Entrega vs. Despliegue

  12. Empaquetado y publicación de binarios

  13. Versionado de base de datos

  14. Anatomía de un Delivery Pipeline