DevOps CI/CD Pipeline | Jenkins, AWS EC2, Prometheus, and Grafana

jenkins aws ec2 github prometheus grafana ubuntu ci-cd devops

DevOps CI/CD Pipeline Demo

In this blog post, Iโ€™ll walk you through how our team built a fully automated CI/CD pipeline using Jenkins, deployed it on AWS EC2, and integrated Prometheus and Grafana for real-time performance monitoring. This project mimics a real-world DevOps setup from code commit to production deployment.


๐Ÿง  What It Does

This pipeline automates every step of the software delivery process:

  • GitHub commits trigger Jenkins builds using webhooks
  • Jenkins installs dependencies, runs automated tests, and deploys to EC2
  • Prometheus collects metrics from Jenkins and EC2
  • Grafana visualizes those metrics in real time
  • The whole system is scalable and continuously monitored

๐Ÿ› ๏ธ Tech Stack

Tool / ServicePurpose
JenkinsAutomates build, test, and deployment
AWS EC2Hosts the production server
GitHubVersion control + webhook integration
PrometheusMetrics collection from Jenkins + EC2
GrafanaReal-time monitoring dashboards
Ubuntu 20.04Operating system for EC2 instance

๐Ÿ” Why I Built It

Our goal was to eliminate manual deployment pain and create a reliable, test-driven delivery pipeline. As DevOps adoption grows in the industry, this project gave us hands-on experience with automation tools that modern teams use every day.


๐Ÿ’ก How It Works

  1. Code is committed to a private GitHub repository
  2. GitHub webhook triggers a Jenkins job
  3. Jenkins pulls the code, installs dependencies, and runs python -m unittest discover
  4. Jenkins deploys the app to an AWS EC2 instance
  5. Prometheus scrapes system and Jenkins metrics
  6. Grafana displays CPU usage, memory, test pass/fail counts, and more

๐Ÿ“„ Project Report

๐Ÿ‘‰ Download the Final DevOps Report (PDF)

Includes:

  • โœ… Step-by-step pipeline setup
  • ๐Ÿงช Jenkins config, GitHub webhooks, and test automation
  • ๐Ÿ“Š Monitoring integration via Prometheus + Grafana
  • โš™๏ธ Real screenshots of dashboards and builds
  • ๐Ÿ’ก Lessons learned and future improvements

๐Ÿ“š What I Learned

  • ๐Ÿ” Automating workflows using Jenkins and GitHub webhooks
  • ๐Ÿ’ก How to expose and scrape metrics using Prometheus
  • ๐Ÿ“‰ Designing Grafana dashboards for real-time observability
  • โš™๏ธ Importance of secure SSH access and EC2 configuration
  • ๐Ÿงช Continuous testing saves time and prevents bugs

๐Ÿง  Final Thoughts

This was one of my most hands-on experiences with full-stack DevOps tooling. By automating builds and monitoring deployments, we saw how real-world teams can reduce bugs, increase reliability, and ship faster with confidence.

Want to learn real DevOps engineering? Replicating this project with Jenkins, EC2, and Grafana is a perfect starting point.

Automate everything. Monitor always. Deploy confidently.