POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

DevOps en Acción: Entorno Moderno - Parte 1

DevOps en Acción: Entorno Moderno — Parte 1

Publicado el 05/09/2025

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.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio