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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat