RS-IRP: integración de datos y reporting inteligente
RS-IRP integra fuentes de información, automatización y analítica para avanzar hacia un reporting más escalable y trazable en Roi Scroll.
Tecnología y desarrollo web
La elección de GitLab CI/CD y su encaje con pruebas y despliegues: relato de la incorporación de integración y entrega continua a Roi Scroll en 2017.
Entre bambalinas, el equipo de Roi Scroll ha estado todo el año trabajando en un nuevo sistema para conseguir hacer nuestros servicios de desarrollo y mantenimiento más rápidos, más seguros… y lo hemos conseguido.
En septiembre empezamos a aplicar la Integración Contínua (o CI) en nuestros servidores.
Integración Continua… ¿y esto qué es? Bueno, explicar la integración continua puede ser un poco arduo. A grosso modo, es forma de trabajo que se basa en combinar el trabajo de todo el equipo (el código que escriben) y someterlo a una serie de pruebas y condiciones que tiene que pasar para poder integrarse.
Vamos a hacerlo fácil. Por ejemplo, gracias a la integración contínua, los sitios web de nuestros clientes se podrán beneficiar de:
Arrancamos en Septiembre con un pequeño grupo de sitios web para ir controlando el funcionamiento y evolución del sistema. Aunque nuestra planificación marca fin de año como el momento en el que todos los sitios estarán bajo esta práctica… no os perdáis detalle de nuestras comunicaciones, porque en cualquier momento podrá llegarte el aviso de que ya estás bajo la mano férrea de la Integración Contínua. Eso sí, los sitios web tienen que cumplir unas pocas condiciones para poder funcionar bajo esta forma de trabajo:
¿Mantenimiento web? Un motivo más que se une a la lista ya comentada de por qué el mantenimiento web importa
Voy a permitirme el lujazo de entrar un poco en las «entrañas técnicas»… que en marketing digital también podemos montar infraestructuras chulas de desarrollo, aunque pasen más desapercibidas 😉
Ahora tocaría que explicara con algo más de detalle lo que es la integración contínua, pero los cracks de Amazon lo explican de una forma clara y sencilla Integración Continua explicada por Amazon así que… eso sí, no te olvides de volver aquí o te perderás el final de esta historia!!!
Desde el 2016 teníamos claro internamente que necesitábamos incorporar la integración contínua a nuestra metodología de trabajo. En 2015 instauramos el control de versiones como requisito obligatorio en todo proyecto web, algo que nos hizo la vida más tranquila… aunque todavía quedaban muchos flecos sueltos… muchas acciones manuales:
Y, prácticamente, por cada acción manual existía un proceso paralelo, también manual y más arduo de «volver para atrás» si pasaba algo malo.
Ya en 2016 empezamos a tener problemillas para poder tener un sitio web actualizado al mismo tiempo que estaba inmerso en cambios y mejoras paralelas… Por eso separamos todo desarrollo en dos ramas (caminos) diferentes: desarrollo y producción: Todo se hace sobre desarrollo y cuando está OK se traslada a producción y, posteriormente… se publica.
En fin, no hace falta estar metido en el proceso para darse cuenta de que se abren muchas posibilidades de incompatibilidades, errores, problemas, etc.
Estaba claro, teníamos que buscar la manera de garantizar que el repositorio estuviese siempre en un estado consistente y los problemas, de haberlos, trasladarlos al momento en el que el equipo está trabajando y no tenerlos cuando el equipo terminó el trabajo. La integración contínua encajaba como un guante en la necesidad. Pues nada, a buscar qué software utilizar para gestionarla.
Aquí empezó nuestra aventura… comenzamos a documentarnos a fondo sobre la integración contínua, todo apuntaba a la convivencia de cuatro tipos de software diferentes:
Ya con las ideas claras tocaba buscar opciones y profundizar más. ¿Qué probamos?
Tomar la decisión fue muy complicado. Existen tantas opciones… todas son geniales, tanto que es muy fácil perder el foco entre tanta documentación y prueba. Tras varios meses de estar el tema encima de la mesa, teníamos sólo un par de cosas claras: phpUnit y Gitlab. Capistrano parecía que tenía muchas papeletas… pero un día de locura decidimos romper la baraja.
Gitlab tenía desde hace un tiempecito ya su sistema propio de CI que llaman Gitlab CI/CD y que permite tanto integración como entrega continua. No le habíamos prestado mucha atención, hasta que decidimos darle una oportunidad. La razón, simple: Si nos vale, ya está integrado con Gitlab y, por lo tanto, con nuestro control de versiones, con nuestra gestión de proyectos y con nuestra plataforma de SCRUM.
Tras darle la oportunidad quedó clarísimo que teníamos que haberlo hecho antes. Fácil, sencillo e intuitivo; totalmente integrado con nuestras herramientas habituale y rápido. Así que…
Y manos a la obra que nos pusimos!!! Vale, aún queda trabajo por hacer, pulir los test, mejorarlos… dotar de más inteligencia a los procesos de despliegue… Eso es bueno, significa que seguiremos mejorando el servicio que damos a nuestros clientes y que continuaremos con nuestro principal objetivo: La excelencia. Y como objetivo secundario… dormiremos más tranquilos con Gitlab CI/CD orquestando.
Es un hecho: Continuous Delivery for victory and glory.
No necesitas saber qué servicio necesitas. Cuéntanos qué quieres conseguir, qué está fallando o qué oportunidad quieres aprovechar. Nosotros empezamos por ahí.
Una primera conversación para entender el reto y valorar cómo podemos ayudarte.
PONTE EN CONTACTO