Proyecto
Pipeline CI/CD con Jenkins, Docker y Flask
Proyecto de CI/CD con Jenkins para una aplicación web en Flask, pensado para mostrar un flujo completo de validación, empaquetado, publicación y despliegue remoto sobre un VPS Linux.
Resumen
Pipeline CI/CD para una aplicación web en Flask que ejecuta pruebas automatizadas con pytest, construye y publica la imagen Docker, y despliega en un VPS Linux mediante SSH y docker-compose, con notificación por correo al finalizar.
Stack: Python, Flask, Docker, Jenkins, Linux
Qué hace
El proyecto busca evitar despliegues manuales y poco consistentes en una aplicación web sencilla. Para ello automatiza desde la validación inicial con tests hasta la construcción de la imagen, su publicación y el despliegue remoto en servidor, dejando un flujo repetible de principio a fin.
Cómo está construido
La solución se apoya en una aplicación Flask contenida en Docker, con Jenkinsfile para definir las etapas del pipeline, Dockerfile para empaquetado y docker-compose para el despliegue en el VPS. El flujo conecta GitHub, Docker Hub y el servidor Linux mediante acceso SSH para ejecutar la actualización remota.
Qué valida o automatiza
El pipeline clona el repositorio, instala dependencias, ejecuta pruebas automatizadas con pytest, construye la imagen Docker y la publica en Docker Hub. Después conecta por SSH al VPS, despliega con docker-compose y envía una notificación por correo al finalizar, dejando un proceso reproducible de integración y entrega continua.
Puntos clave
- Pipeline CI/CD con Jenkins para una aplicación Flask contenida en Docker.
- Pruebas con pytest, build de imagen y publicación automática en Docker Hub.
- Despliegue remoto por SSH en VPS Linux con docker-compose y notificación por correo.