DevOps en Acción: Entorno Moderno - Parte 1

DevOps by Doing, serie 100% práctica para crear un entorno DevOps moderno con Node.js, Git, pruebas, Docker y CI/CD con GitHub Actions.

5 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Bienvenido a DevOps by Doing, una serie 100 por ciento práctica en la que construimos, mantenemos y evolucionamos paso a paso un entorno DevOps moderno completo. En esta primera entrega, Setting Up a Complete Modern DevOps Environment, vas a dejar de la teoría para pasar a la acción con una aplicación Node.js que recorre todo el ciclo DevOps: control de versiones, pruebas automatizadas, contenedores, despliegue y más.

Q2BSTUDIO te acompaña en este camino. Somos una empresa de desarrollo de software con foco en aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio y power bi, automatización de procesos, agentes IA e ia para empresas. Si buscas un partner para impulsar tu plataforma y tus pipelines, descubre nuestro enfoque en aplicaciones a medida.

Que vamos a cubrir en la serie

• Control de versiones con Git y estructura del repositorio

• Aplicación Node.js, dependencias y pruebas

• Calidad de código con ESLint y estándares

• Gestión de entornos y variables con archivo de ejemplo

• Integración continua con GitHub Actions

• Contenerización con Docker y .dockerignore

• Desarrollo local con Docker Compose

• Despliegue continuo de contenedores

Requisitos

• Git instalado

• Node.js LTS y npm

• Docker y Docker Compose

• Cuenta de GitHub

• Editor de código como VS Code con extensiones ESLint y Docker

Verifica tu entorno ejecutando en la terminal: node --version, npm --version, git --version, docker --version

Paso 1. Prepara Git y el repositorio

• Configura tu identidad: git config --global user.name Tu Nombre; git config --global user.email tu.email

• Crea la carpeta del proyecto e inicializa Git: mkdir my-devops-project; cd my-devops-project; git init; git status

Paso 2. Inicializa la aplicación Node.js

• Crea el proyecto: npm init -y

• Añade scripts útiles en package.json: start para iniciar node app.js, dev para desarrollo, test con jest y lint con eslint . También define engines para node mayor o igual a 18 y devDependencies para jest, eslint y supertest

• Instala dependencias: npm install --save-dev jest eslint supertest; npm install

Paso 3. Crea el servidor web

• Crea el archivo app.js con un servidor HTTP que escuche en el puerto 3000

• Implementa endpoints clave: barra para la página de bienvenida, health para chequeo de salud en formato json, info con detalles del sistema y metrics con métricas estilo Prometheus

• Añade cabeceras de seguridad y CORS, manejo de errores, apagado elegante y exporta el servidor para pruebas

Paso 4. Pruebas automatizadas

• Crea la carpeta de pruebas y el archivo principal: mkdir tests; touch tests/app.test.js

• Usa Jest y Supertest para verificar que cada endpoint responde correctamente, que la página de bienvenida carga, que health e info devuelven json válido y que metrics expone contadores y gauges esperados

• Configura Jest con testEnvironment node, collectCoverage activado, carpeta coverage y patrón de pruebas dentro de tests

• Ejecuta tus pruebas con npm test y asegúrate de que el reporte de cobertura se genere correctamente

Paso 5. Ejecuta y valida la aplicación

• Inicia el servidor con npm start

• Comprueba los endpoints en el navegador o con curl:

curl https://localhost:3000/

curl https://localhost:3000/health

curl https://localhost:3000/info

curl https://localhost:3000/metrics

• Detén el servidor con la combinación de teclas CTRL + C

Archivos y configuraciones esenciales

• Crea .gitignore para excluir node_modules, coverage, logs, archivos temporales y credenciales

• Añade .env.example con las variables necesarias y usa variables de entorno para puertos y configuración del servicio

• Prepara .dockerignore para evitar que archivos innecesarios entren en la imagen

• Introduce ESLint con reglas que favorezcan consistencia, legibilidad y seguridad

• Define un flujo base de CI con GitHub Actions que ejecute instalación, lint y pruebas en cada push y pull request

• Escribe un Dockerfile eficiente listo para producción y deja sentadas las bases para Docker Compose

Preparando el siguiente paso

Lo que ya tienes al terminar esta primera parte: un proyecto limpio con control de versiones, calidad de código y pruebas automatizadas, listo para contenerización y CI. En la Parte 2 crearemos el Dockerfile y .dockerignore, montaremos el entorno local con Docker Compose, mejoraremos el pipeline de GitHub Actions y dejaremos preparado el despliegue continuo hacia la nube. Si planeas llevar este stack a producción en cloud, explora cómo escalamos, securizamos y automatizamos infra con nuestro enfoque en servicios cloud AWS y Azure.

Por qué Q2BSTUDIO

Combinamos estrategia y ejecución para acelerar tu práctica DevOps, desde pipelines de CI CD, observabilidad, seguridad y ciberseguridad, hasta despliegues orquestados e infraestructura inmutable. Integramos inteligencia artificial, agentes IA y ia para empresas en tus flujos de trabajo, y potenciamos el análisis de datos con servicios inteligencia de negocio y power bi. Si necesitas evolucionar tu plataforma con software a medida, reducir tiempo a producción y elevar la calidad, estamos listos para ayudarte desde la definición hasta la operación continua.

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.