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:
Fundamentos de Integración Continua
Versionado de código: Baseline, Branches y Tags
Trunk-Based Development vs GitFlow
Definición de Builds
Anatomía del un Build
El rol del Build Server
Anatomía del Build Job
Métricas de código y Linters
Modelos de Build Server: Jenkins vs TravisCI
Fundamentos de Entrega Continua
Entrega vs. Despliegue
Empaquetado y publicación de binarios
Versionado de base de datos
Anatomía de un Delivery Pipeline