Skip to content

Designed and implemented an end-to-end CI/CD pipeline for a Java full-stack blogging app on AWS EKS using Jenkins, SonarQube, Nexus, Docker, and Terraform. Automated testing, code quality, artifact management, containerization, and secure K8s deployment with Prometheus & Grafana for full-stack monitoring.

Notifications You must be signed in to change notification settings

SAdhikary2/Production-Grade-CI-CD-Pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Production-Grade CI/CD Pipeline for Full-Stack Blogging Platform

Jenkins | SonarQube | Trivy | Nexus | Terraform | Docker | Kubernetes | AWS EKS | Prometheus | Grafana

This repository showcases a real-world, production-ready CI/CD pipeline built for a Full-Stack Blogging Platform.
It automates the entire software delivery lifecycle — from code commit to deployment and real-time monitoring — using enterprise DevOps tools on AWS.


📌 Project Overview

This project demonstrates a modern, secure and scalable CI/CD workflow that:

  • Fetches source code from GitHub
  • Automates build & deployment pipelines using Jenkins
  • Ensures code quality with SonarQube
  • Performs security scanning using Trivy
  • Stores versioned artifacts in Nexus Repository Manager
  • Provisions AWS infrastructure using Terraform
  • Containerizes the application with Docker
  • Deploys workloads to Amazon EKS (Kubernetes)
  • Monitors application and cluster metrics via Prometheus & Grafana

This is a complete, production-level DevOps pipeline suitable for enterprise environments.


🏗️ Architecture Workflow

Main Page


⚙️ Tech Stack

Component Tool
Source Control GitHub
CI/CD Automation Jenkins
Code Quality SonarQube
Image Vulnerability Scan Trivy
Artifact Repository Nexus
Infrastructure as Code Terraform
Containerization Docker
Orchestration Kubernetes (Amazon EKS)
Monitoring Prometheus + Grafana
Cloud Provider AWS

🔄 CI/CD Pipeline Stages

1️⃣ Source Stage

  • Host application code in GitHub
  • Jenkins triggers pipeline through Webhooks

2️⃣ Build & Test

  • Jenkins pulls code
  • Installs dependencies
  • Runs tests

3️⃣ Static Code Analysis — SonarQube

  • Detects:
    • Bugs
    • Code smells
    • Vulnerabilities

4️⃣ Security Scan — Trivy

  • Scans Docker image for:
    • High/Critical CVEs
    • Misconfigurations

5️⃣ Artifact Storage — Nexus

  • Stores:
    • Build artifacts
    • Docker images
    • Versioned builds

6️⃣ Infrastructure Provisioning — Terraform

Terraform creates:

  • VPC
  • Subnets
  • EKS Cluster
  • Node Groups
  • Security Groups
  • IAM Roles

7️⃣ Container Build & Deploy

  • Build Docker image
  • Push to Nexus/DockerHub
  • Deploy to EKS via Kubernetes manifests

8️⃣ Monitoring — Prometheus & Grafana

  • Cluster metrics
  • Pod performance
  • Application uptime
  • Custom dashboards

📸 Jenkins Pipeline View

Main Page

📸 Grafana Dashboards

Main Page

📸 AWS EC2 Dashboard

Main Page

📸 EKS Pods/Services

Main Page

📸 EKS Pods/Services

Main Page


🚀 Future Enhancements

  • Add Helm charts
  • Implement Blue/Green or Canary deployments
  • Add Slack / Teams notifications
  • Integrate ELK Stack for advanced logging

🤝 Contribution

Contributions, suggestions and improvements are welcomed.
Feel free to open Issues or pull requests.


About

Designed and implemented an end-to-end CI/CD pipeline for a Java full-stack blogging app on AWS EKS using Jenkins, SonarQube, Nexus, Docker, and Terraform. Automated testing, code quality, artifact management, containerization, and secure K8s deployment with Prometheus & Grafana for full-stack monitoring.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published