Skip to content

prashantgohel321/DevOps-Project-Gohel-Tailors-Web-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

End‑to‑End CI/CD Automation & Cloud Deployment (DevOps‑Focused Project)





πŸ“Œ Overview

This repository is intentionally DevOps‑centric.

It contains the complete CI/CD automation, containerization, cloud deployment, and monitoring setup built for the Gohel Tailors platform. The actual application source code is not published in this repository due to client/business requirements.

The primary purpose of this project is to showcase real‑world DevOps practices, not the application logic itself.

The pipeline demonstrates how a production‑grade web application can be:

  • Built
  • Containerized
  • Deployed
  • Monitored
  • Updated automatically

using modern DevOps tools and cloud services.




⚠️ Important Note About Application Code

  • The core web application code, UI/UX, and business logic are intentionally excluded from this repository.
  • This decision was taken to protect client requirements and business‑specific implementation.
  • A lightweight demo structure is used only to validate CI/CD, containerization, and deployment flows.

πŸ‘‰ This repository should be evaluated purely as a DevOps automation and cloud deployment project.

You can check app demo here πŸ™‹.

And one more thing... Explanation video is coming soon...πŸ”œ




🎯 Project Goal

  • Remove manual deployment steps
  • Enforce repeatable and reliable releases
  • Enable serverless container deployment on AWS
  • Add observability using metrics and dashboards
  • Represent how DevOps is applied in real client environments



πŸ“ Repository Structure

|-- Dockerfile              # Container build definition
|-- Jenkinsfile             # CI/CD pipeline as code
|-- terraform/              # Infrastructure as Code (optional)
|-- prometheus/
|   |-- prometheus.yml      # Metrics scrape configuration
|-- grafana/                # Dashboards & visualization
|-- README.md

Application directories such as /app, /templates, or /static are not included as part of this repository.




πŸš€ DevOps Capabilities Demonstrated

  • End‑to‑end CI/CD pipeline using Jenkins
  • Pipeline‑as‑Code via Jenkinsfile
  • Docker‑based containerization for environment consistency
  • Docker Hub as container image registry
  • AWS ECS Fargate for serverless container deployment
  • Automated redeployment on every GitHub push
  • CloudWatch for application and container logs
  • Prometheus metrics collection
  • Grafana dashboards for real‑time monitoring
  • Secure and scalable cloud architecture



πŸ— High‑Level Architecture Flow

GitHub (Source Control)
        β”‚
        β–Ό
Jenkins (CI/CD on EC2)
        β”‚
        β”œβ”€β”€ Pulls code via GitHub webhook
        β”œβ”€β”€ Builds Docker image
        β”œβ”€β”€ Authenticates with Docker Hub
        β”œβ”€β”€ Pushes image to registry
        β”œβ”€β”€ Triggers ECS deployment via AWS CLI
        β–Ό
Docker Hub (Image Registry)
        β”‚
        β–Ό
Amazon ECS (Fargate)
        β”‚
        β”œβ”€β”€ Pulls latest image
        β”œβ”€β”€ Runs container as ECS Service
        β”‚
        β–Ό
Application Container (ECS Task)
        β”œβ”€β”€ Emits metrics via /metrics
        β”œβ”€β”€ Sends logs to CloudWatch
        β–Ό
CloudWatch Logs

Monitoring (Local):
        β”œβ”€β”€ Prometheus (Metrics collection)
        └── Grafana (Visualization & dashboards)



πŸ–₯ Technology Stack

CI/CD

  • Jenkins
  • GitHub Webhooks
  • Jenkinsfile (Pipeline‑as‑Code)

Containerization

  • Docker
  • Docker Hub

Cloud Platform

  • AWS ECS (Fargate)
  • IAM Roles
  • VPC & Subnets
  • CloudWatch Logs

Monitoring & Observability

  • Prometheus
  • Grafana

Application Layer

  • Flask (used only as a demo workload for DevOps validation)



πŸ”§ Local Setup (DevOps Validation Only)

Clone Repository

git clone https://github.com/prashantgohel321/DevOps-Project-Gohel-Tailors-Web-App.git
cd Gohel-Tailors

Build Docker Image

docker build -t devops-demo-app .

Run Container

docker run -p 5000:5000 devops-demo-app

Note: This container exists only to validate pipeline, deployment, and monitoring.




πŸ” Jenkins CI/CD Pipeline

Automated Stages

  1. Source code pull from GitHub
  2. Dependency installation
  3. Docker image build
  4. Docker Hub authentication
  5. Image push to registry
  6. ECS service update using AWS CLI

Each GitHub push triggers the pipeline automatically.




☁ AWS ECS Fargate Deployment

Prerequisites

  • ECS Cluster
  • Task Definition linked with Docker image
  • ECS Service running on Fargate
  • Security group allowing application port
  • IAM role for ECS task execution

Deployment Command

aws ecs update-service \
  --cluster <cluster-name> \
  --service <service-name> \
  --force-new-deployment



πŸ“Š Monitoring & Metrics

Prometheus

  • Scrapes /metrics endpoint from ECS task
  • Validates application health and performance
scrape_configs:
  - job_name: 'ecs-app'
    static_configs:
      - targets: ['<ecs-public-ip>:5000']

Grafana

  • Visualizes request rate
  • Error ratio
  • Latency
  • Uptime
  • Custom application metrics



πŸ§ͺ Validation & Testing

DevOps Validation

  • Jenkins pipeline success
  • Docker image integrity
  • ECS redeployment verification
  • Log availability in CloudWatch

Monitoring Validation

  • Prometheus target health
  • Metric ingestion
  • Grafana dashboard rendering



πŸ“¦ Key Outcomes

  • Fully automated CI/CD workflow
  • Serverless container deployment on AWS
  • Zero manual release steps
  • Real‑time observability
  • Faster, safer, repeatable deployments
  • Clear separation between DevOps infrastructure and application business logic



πŸ›  Future Improvements

  • Host Prometheus & Grafana on AWS (EC2 / EKS)
  • Add automated test stages in pipeline
  • Implement ECS auto‑scaling
  • Use AWS Secrets Manager
  • Full Infrastructure as Code via Terraform



πŸ‘€ Author

Prashant Gohel




πŸ“„ License | MIT

This repository focuses on DevOps automation and cloud deployment workflows.

Application source code and business logic are excluded based on client requirements.

The DevOps implementation in this repository may be referenced for learning and evaluation purposes only.

About

This project sets up a CI/CD pipeline that automatically builds, pushes, and deploys the Gohel Tailors web app to AWS using Jenkins and Docker, with monitoring to track application health.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors