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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat