End-to-End CI/CD Pipeline with Jenkins, Terraform, Docker & ArgoCD (EKS Deployment)

End-to-end DevOps pipeline for building, scanning, and deploying containerized applications using GitHub → Jenkins → Docker → Terraform → Amazon EKS with GitOps (ArgoCD).

Project Overview

This project implements a production-like CI/CD pipeline for a Node.js web application (Hotstar sample) using Jenkins for orchestration, Terraform for infrastructure provisioning (EKS cluster + supporting resources), Docker for containerization, SonarQube & Trivy for code & image scanning, and ArgoCD for GitOps-based deployments into EKS. The portfolio page below highlights the high-level architecture, pipeline stages, tools used, and the key responsibilities / outcomes.

Architecture Diagram

CI/CD pipeline architecture: GitHub → Jenkins → SonarQube/Trivy → DockerHub → Terraform → EKS → ArgoCD

CI/CD Pipeline — Stages

  1. Source: Developer pushes code to GitHub (branch-based workflows).
  2. Build (Jenkins): Multi-stage Jenkins pipeline checks out code, installs dependencies (npm), runs unit tests, and builds Docker images.
  3. Static Analysis: Jenkins triggers SonarQube scan and fails the pipeline on quality gate failure.
  4. Vulnerability Scan: Jenkins runs Trivy to scan built images for CVEs; pipeline blocks on high-risk findings.
  5. Push: Secure push of signed images to Docker Hub (or private registry) if scans pass.
  6. Provision Infra (Terraform): Terraform modules create EKS cluster, node groups, VPC, IAM roles, and supporting networking.
  7. Deploy (GitOps - ArgoCD): ArgoCD watches the Git repo and applies Kubernetes manifests/Helm charts to the EKS cluster to deploy the app.
  8. Observability & Rollback: Health checks, and rollback on failure via ArgoCD and Kubernetes readiness/liveness probes.

Tools & Tech

Key Responsibilities & Achievements

How to run the demo (short)

  1. Clone repository and open Jenkinsfile to inspect pipeline stages.
  2. Ensure Jenkins has credentials: GitHub token, Docker registry credentials, AWS keys with limited IAM role for Terraform.
  3. Run pipeline → verify SonarQube and Trivy checks; on success, Terraform applies to provision EKS; ArgoCD syncs app manifests.

Download Full Project Report

Download Detailed PDF

← Back to Projects