Presented by:

Analista Senior y defensor de DevOps como filosofía de trabajo.

  • Advanced App Engineering Sr Analyst Java Technology Architect Over 13 years of working experience Microservices junkie Very interested in automation and testing Speaker at Local Java Events (Málaga JUG)
7273ae6c85e2bad6e5cbbfa1252398a1

Rafa Molina

from Accenture

Trabajando en el sector informático desde 2010, actualmente en Accenture Spain ATC, grupo de Architecture&DevOps. Especializado principalmente en Java y SpringFramework. Interesado en tecnologías Cloud y DevOps. Apasionado del Surf y el mar.

No video of the event yet, sorry!

En esta charla vamos a presentar una implementación que permite aplicar el modelo de Integración Continua/Despliegue Continuo (CI/CD) a repositorios, que pueden o no ser legacy, basándonos en un enfoque moderno a través de pipelines de Jenkins implementados con jenkinsfiles. La estrategia propuesta pretende solventar los retos que se plantean al trabajar con monorepositorios de código que albergan múltiples aplicaciones, aportando a la vez un alto grado de flexibilidad y adaptabilidad gracias al modelo de implementación de ese entorno de integración continua que vamos a describir.

¿Por qué nos planteamos hacer esto? La razón para abordar esta implementación parte de reforzar la idea de que no hay una única estrategia válida de gestión de la configuración en la que deba existir una relación 1:1 entre repositorio y aplicación. En el día a día no siempre nos encontramos con proyectos que cuentan con un repositorio de código o conjunto de repositorios de código con la que, a veces, se tiende a considerar, una estructura estándar de gestión de la configuración en la que cada aplicación tiene su repositorio específico (modelo 1:1) organizado en las ramas y etiquetas que se estimen necesarias. Es habitual encontrar el caso en el que la totalidad del código de las aplicaciones del cliente/proyecto se encuentra albergado en un único repositorio de código (monorepositorio en el modelo 1:N) estructurado de tal forma que todas las aplicaciones están distribuidas en diferentes carpetas organizadas siguiendo diversos criterios, habitualmente propios y específicos de ese cliente/proyecto.

Tanto el modelo repo-app 1:1 como el modelo 1:N presentan pros y cons y existe una motivación detrás de cada una de estas opciones: una gestión del ciclo de vida de CI/CD en el que los pipelines deben respetar las interdependencias existentes entre las diferentes aplicaciones del monorepositorio en cuestión es una razón de peso para considerar dicho modelo como el adecuado. Y todo esto nos plantea retos en cuanto a la generación de una definición de integración continua que se adapte a esta casuística descrita en la que múltiples aplicaciones comparten un único repositorio y cuyo ciclo de vida debe orquestarse atendiendo a la interdependencia entre ellas.

Date:
2019 May 25 - 10:30
Tipo:
Charla / Talk
Duration:
45 min
Room:
Sala 2 - 0 A.D.
Conference:
Opensouthcode 2019
Language:
Spanish; Castilian
Track:
Difficulty:
Easy

Happening at the same time:

  1. Build an API with HMVC and BDD
  2. Start Time:
    2019 May 25 10:00

    Room:
    Aula 1 - Minetest

  3. Talleres de creación de videojuegos en Scratch
  4. Start Time:
    2019 May 25 10:00

    Room:
    Aula 2 -Wesnoth

  5. OOP to FP mindshift
  6. Start Time:
    2019 May 25 10:30

    Room:
    Sala 3 - Freeciv

  7. Cómo Krita puede ayudarnos en nuestros procesos creativos
  8. Start Time:
    2019 May 25 10:30

    Room:
    Sala 1 - Flightgear