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