End-to-End DevOps Project | Terraform + AWS + Docker + Jenkins CI/CD | Multi-Environment Deployment

Опубликовано: 18 Май 2026
на канале: Raghav MJ
203
4

In this video, I demonstrate a complete end-to-end DevOps pipeline implementation using modern industry tools.

This project covers:

✅ Infrastructure as Code using Terraform
✅ Multi-environment setup (Dev, Stage, Prod)
✅ AWS EC2 deployment
✅ Docker containerization
✅ DockerHub image registry
✅ Jenkins CI/CD automation
✅ Remote Terraform backend (S3 + DynamoDB)
✅ IAM configuration & AWS CLI setup

🔷 Project Architecture

Developer → GitHub → Jenkins → Docker Build → DockerHub → AWS EC2 → Live Application

Whenever code is pushed to GitHub:

Jenkins detects changes

Builds Docker images

Pushes images to DockerHub

EC2 pulls updated images

Application is deployed automatically

🔷 Step-by-Step Commands Used in This Project

1️⃣ AWS CLI Setup

aws --version
aws configure
aws sts get-caller-identity

2️⃣ Create Terraform Backend (S3 + DynamoDB)

Create S3 Bucket

aws s3api create-bucket \
--bucket devops-assign-raghav-12345 \
--region ap-south-1 \
--create-bucket-configuration LocationConstraint=ap-south-1

Enable Versioning

aws s3api put-bucket-versioning \
--bucket devops-assign-raghav-12345 \
--versioning-configuration Status=Enabled

Create DynamoDB Lock Table

aws dynamodb create-table \
--table-name terraform-lock-table \
--attribute-definitions AttributeName=LockID,AttributeType=S \
--key-schema AttributeName=LockID,KeyType=HASH \
--billing-mode PAY_PER_REQUEST \
--region ap-south-1

3️⃣ Terraform Deployment

terraform init
terraform plan
terraform apply

4️⃣ Docker Build (Backend & Frontend)

docker build -t docker_username/devops-backend backend
docker build -t docker_username/devops-frontend frontend

5️⃣ Docker Compose

docker compose up -d
docker ps

6️⃣ Push Images to DockerHub

docker login
docker push docker_uername/devops-backend
docker push docker_username/devops-frontend

7️⃣ EC2 Deployment

SSH into EC2

ssh -i devops-key.pem ubuntu@PUBLIC_IP

Pull Images

docker pull raghav docker_username/devops-backend
docker pull raghav docker_username/devops-frontend

Run Containers

docker run -d -p 8000:8000 docker_username/devops-backend
docker run -d -p 3000:3000 docker_username/devops-frontend


8️⃣ Jenkins Setup

docker run -d \
-p 8080:8080 \
-p 50000:50000 \
--name jenkins \
jenkins/jenkins:lts

9️⃣ Monitoring Commands

free -h
df -h
docker stats

🔷 Tools Used

AWS EC2

AWS IAM

AWS S3

AWS DynamoDB

Terraform

Docker

Docker Compose

DockerHub

Jenkins

GitHub

🔷 Learning Outcomes

✔ Infrastructure as Code
✔ Multi-environment DevOps setup
✔ CI/CD automation
✔ Containerized deployment
✔ Cloud-native application deployment

🔷 Connect With Me

GitHub: https://github.com/R357
LinkedIn: https://www.linkedin.com/in/raghav-m-j-738...

#DevOps #Terraform #AWS #Docker #Jenkins #CICD #CloudComputing #InfrastructureAsCode #FullStackDeployment #EC2 #DockerHub