Skip to content

Repository files navigation

Práctica Final DevOps CI/CD Aplicación web "Hola Mundo" con pipeline completo de CI/CD usando GitHub Actions, Docker y despliegue automático.

🚀 Características ✅ Aplicación Node.js con Express ✅ Pruebas unitarias con Jest ✅ Containerización con Docker ✅ Pipeline CI/CD con GitHub Actions ✅ Despliegue automático a producción 📋 Requisitos Previos Node.js 18+ Docker Cuenta en Docker Hub Cuenta en Render (o servicio similar) Repositorio en GitHub 🛠️ Instalación Local bash

Clonar el repositorio

git clone https://github.com/TU_USUARIO/practica-devops-cicd.git cd practica-devops-cicd

Instalar dependencias

npm install

Ejecutar en desarrollo

npm run dev

Ejecutar pruebas

npm test 🐳 Docker bash

Construir imagen

docker build -t practica-devops-cicd .

Ejecutar contenedor

docker run -p 3000:3000 practica-devops-cicd

Acceder a la aplicación

curl http://localhost:3000 🔧 Configuración de Secrets en GitHub Debes configurar los siguientes secrets en tu repositorio de GitHub: Settings → Secrets and variables → Actions → New repository secret

Docker Hub: DOCKERHUB_USERNAME: Tu usuario de Docker Hub DOCKERHUB_TOKEN: Token de acceso de Docker Hub Render (opcional): RENDER_DEPLOY_HOOK: URL del deploy hook de Render 📝 Cómo obtener los Secrets Docker Hub Token: Ir a https://hub.docker.com/ Settings → Security → New Access Token Copiar el token generado Render Deploy Hook: Crear Web Service en Render Settings → Deploy Hook Copiar la URL proporcionada 🔄 Pipeline CI/CD El pipeline se ejecuta automáticamente al hacer push a la rama main:

Test Stage: Instala dependencias y ejecuta pruebas Docker Stage: Construye y sube imagen a Docker Hub Deploy Stage: Despliega automáticamente a producción 📊 Endpoints de la API GET / - Mensaje de hola mundo con timestamp GET /health - Health check de la aplicación 🧪 Estructura de Pruebas ✓ GET / debe retornar mensaje de hola mundo ✓ GET / debe retornar timestamp ✓ GET / debe retornar versión ✓ GET /health debe retornar status OK ✓ Función saludar debe saludar correctamente 📦 Estructura del Proyecto practica-devops-cicd/ ├── .github/ │ └── workflows/ │ └── ci-cd.yml ├── app.js ├── app.test.js ├── package.json ├── jest.config.js ├── Dockerfile ├── .dockerignore ├── .gitignore └── README.md 🚀 Despliegue Manual Si prefieres desplegar manualmente:

bash

Login a Docker Hub

docker login

Build y push

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages