This project demonstrates a complete DevOps CI/CD pipeline for deploying an application using Jenkins, Docker, Docker Hub, Prometheus, and Grafana.
In this workflow, the developer pushes code to GitHub, then Jenkins automatically pulls the latest code, builds a Docker image, and pushes that image to Docker Hub. After that, the deployment server pulls the latest image, creates a container, and exposes the application to users.
For monitoring, Prometheus collects application and system metrics, and Grafana is used to visualize those metrics through dashboards.
- Developer writes code and pushes it to GitHub.
- Jenkins detects the changes in the repository.
- Jenkins pulls the latest source code.
- Jenkins builds a Docker image for the application.
- Jenkins pushes the Docker image to Docker Hub.
- The deployment server pulls the latest image from Docker Hub.
- A Docker container is created and started.
- The application is exposed to end users.
- Prometheus collects monitoring metrics from the application and containers.
- Grafana displays the collected metrics in dashboard form.
Developer
↓
GitHub Repository
↓
Jenkins Pipeline
↓
Build Docker Image
↓
Push Image to Docker Hub
↓
Pull Image on Deployment Server
↓
Run Docker Container
↓
Expose Application to Users
Monitoring:
Prometheus --> Collect Metrics
Grafana --> Visualize Metrics