Integración continua con GitLab: Un recorrido completo utilizando un proyecto Node.js real

Integración continua con GitLab para optimizar tu proyecto Node.js y agilizar el desarrollo de software. Aprende a automatizar tus pruebas y despliegues de forma eficiente.

10 dic 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Integración continua con GitLab para un proyecto Node.js

La integración continua y el despliegue continuo CI/CD son fundamentales para que los equipos modernos mantengan el desarrollo rápido, seguro y consistente. En este artículo describimos, paso a paso y en lenguaje práctico, una canalización real de GitLab CI/CD diseñada para una aplicación Node.js llamada Solar System, mostrando cómo encajan pruebas unitarias, análisis de cobertura, construcción de contenedores, servicios de dependencia y publicación de imágenes en un flujo confiable y listo para producción.

Descripción del proyecto Solar System: se trata de un servicio sencillo Node.js con Express y MongoDB. Componentes clave: app.js servidor Express y endpoints, app-test.js pruebas con Mocha, Dockerfile para construir la imagen, deployment.yaml y service.yaml para Kubernetes, y scripts en package.json para start test coverage que permiten ejecutar npm install npm test npm run coverage y npm start localmente.

Al llevar el proyecto a GitLab CI se buscó inicialmente un flujo simple: ejecutar tests en merge requests y pushes, generar reportes de cobertura y construir y escanear contenedores. Sin embargo la primera ejecución produjo alertas en la base de datos de producción porque los jobs usaban credenciales reales y conectaban al clúster productivo. Ejecutar pruebas contra la base de datos de producción puede causar lentitud, errores intermitentes y afectar a usuarios reales.

Lecciones aprendidas: aislar siempre las dependencias de CI. Tratar el entorno de producción como una bóveda cerrada. La solución fue usar servicios de GitLab CI para arrancar un contenedor MongoDB por job y apuntar las variables de entorno a mongodb://mongo:27017/testdb en lugar de las credenciales productivas. Con este patrón las pruebas se ejecutan contra una instancia efímera y aislada y los jobs son repetibles y seguros.

Ejemplo de patrón reutilizable: definir una plantilla de job que use la imagen node, incluya el servicio mongo:4.4 con alias mongo, haga npm install en before_script y espere a que la base de datos responda antes de lanzar las pruebas. Asignar variables como MONGO_URI con el host mongodb://mongo:27017/testdb permite que tanto pruebas unitarias como cobertura compartan la misma base aislada.

Agregar reportes de cobertura y junit mejora la visibilidad dentro de los merge requests. GitLab muestra cuántas pruebas pasan, cuáles fallaron y el porcentaje de cobertura mediante artifacts reports junit y cobertura con formato cobertura. Además se puede resaltar cobertura a nivel de línea para que los desarrolladores tengan feedback inmediato en el MR.

Para acelerar la canalización se añadió cache de node_modules basado en package-lock.json con política pull-push. Resultado: una instalación de dependencias que en frío tardaba varios segundos se reduce drásticamente cuando la cache está disponible, mejorando la experiencia de los desarrolladores y multiplicando la velocidad de iteración.

Construcción y pruebas de imágenes en CI: el pipeline construye la imagen con docker build usando docker:dind y guarda la imagen como un artifact solar-system-image.tar. Antes de publicar se hace un docker load y se arranca el contenedor comprobando el endpoint /live para verificar que la imagen funciona correctamente. Este paso de validación evita publicar imágenes defectuosas.

Publicación en registros: una vez validadas las imágenes se realiza push a Docker Hub y al GitLab Container Registry con el tag adecuado por versión. Mantener imágenes versionadas en el registry facilita despliegues controlados y rollback cuando sea necesario.

Impacto del pipeline refactorizado: tras aislar dependencias y optimizar cache y artefactos, los jobs de build y test fueron un 25 por ciento más rápidos, la carga sobre la base de datos productiva se redujo alrededor de 40 por ciento y las fallas intermitentes de CI disminuyeron significativamente. El pipeline quedó preparado para integrar despliegue continuo a Kubernetes, con ideas en marcha como automatización de despliegues, templating con Helm y estrategias de despliegue canary o blue green con rollback automático.

Resumen de buenas prácticas aprendidas: empezar con un pipeline simple, detectar y resolver cuellos de botella, aislar recursos externos, añadir observabilidad con reportes y artefactos, construir y probar contenedores antes de publicar y finalmente automatizar despliegues a entornos orquestados.

En Q2BSTUDIO acompañamos a equipos y empresas en todo el ciclo de desarrollo y operaciones. Si necesitas diseñar e implantar pipelines CI/CD robustos y seguros, optimizar aplicaciones a escala o desarrollar software a medida no dudes en contactarnos. Somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida que además ofrece inteligencia artificial, servicios de ciberseguridad y pentesting, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones con power bi. Podemos ayudarte a integrar IA para empresas, agentes IA y automatización para que tus despliegues sean rápidos y seguros. Conoce nuestros servicios de aplicaciones a medida en aplicaciones a medida y nuestras soluciones de infraestructura en servicios cloud aws y azure.

Si quieres que transformemos tu pipeline, mejoremos la seguridad de tus despliegues o acompañemos en la adopción de inteligencia artificial y business intelligence con Power BI, en Q2BSTUDIO ofrecemos consultoría, desarrollo y soporte completo para llevar tu proyecto a producción con calidad y resiliencia.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat