Adaptando pipelines Jenkins a GitLab

En fintech.works empezamos a trabajar con la arquitectura de microservicios alrededor del año 2017, y en estos años llevamos a producción varios proyectos basados en esta arquitectura pero siempre limitados por la infraestructura del cliente final, ya que nuestro rol se concentra en el desarrollo antes que la implementación final.
Esta experiencia en arquitecturas heterogéneas tuvo un impacto en nuestros procesos de CI/CD los cuales se adaptaron para ser genéricos, predecibles e implementables en cualquier infraestructura, aunque no muy eficientes.
Esta ineficiencia se hizo notar a la hora de implementar un pipeline sencillo para un cliente que usaba GitLab y necesitaba precisamente mejorar los tiempos de CI/CD de sus otros proyectos. Con este desafío aceptado, implementamos nuestro pipeline tradicional (migrado desde Jenkins a GitLab pipelines) y agregamos las siguientes mejoras:
Antes de entrar en las mejoras aclaramos que todas estas se pueden aplicar de alguna u otra manera al Jenkins, hoy nuestro objetivo es mostrar los cambios que nos facilitaron y agilizaron el proceso de CI/CD usando el GitLab con el permiso de implementar todo el circuito desde cero.