{"repo":"prashantgohel321/DevOps-Project-Two-Tier-Flask-App","free":true,"listed":false,"github":"https://github.com/prashantgohel321/DevOps-Project-Two-Tier-Flask-App","clone":"git clone https://github.com/prashantgohel321/DevOps-Project-Two-Tier-Flask-App.git","description":"In this project, I built a fully automated CI/CD pipeline to deploy a two-tier Flask application (Flask + MySQL) on AWS EC2 using Jenkins, Docker, and Docker Compose. It integrates GitHub for version control and ensures seamless, reliable, and hands-free deployments.","language":"HTML","stars":225,"topics":["automation","cicd","containerization","devops","devops-project","docker","docker-compose","flask","github","jenkins"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"DevOps Project Report: Automated CI/CD Pipeline for a 2-Tier Flask Application on AWS Author: Prashant Gohel Date: August 23, 2025 --- Table of Contents 1. Project Overview 2. Architecture Diagram 3. Step 1: AWS EC2 Instance Preparation 4. Step 2: Install Dependencies on EC2 5. Step 3: Jenkins Installation and Setup 6. Step 4: GitHub Repository Configuration Dockerfile docker-compose.yml Jenkinsfile 7. Step 5: Jenkins Pipeline Creation and Execution 8. Conclusion 9. Infrastructure Diagram 10. Work flow Diagram --- 1. Project Overview This document outlines the step-by-step process for deploying a 2-tier web application (Flask + MySQL) on an AWS EC2 instance. The deployment is containerized using Docker and Docker Compose. A full CI/CD pipeline is established using Jenkins to automate the build and deployment process whenever new code is pushed to a GitHub repository. --- 2. Architecture Diagram --- 3. Step 1: AWS EC2 Instance Preparation 1. Launch EC2 Instance: Navigate to the AWS EC2 console. Launch a new instance using the Ubuntu 22.04 LTS AMI. Select the t2.micro instance type for free-tier eligibility. Create and assign a new key pair for SSH access. 2. Configure Security Group: Create a security group with the following inbound rules: Type: SSH, Protocol: TCP, Port: 22, Source: Your IP Type: HTTP, Protocol: TCP, Port: 80, Source: Anywhere (0.0.0.0/0) Type: Custom TCP, Protocol: TCP, Port: 5000 (for Flask), Source: Anywhere (0.0.0.0/0) Type: Custom TCP, Protocol: TCP, Por","default_branch":null,"files":null,"tree":[],"storefront":"/r/prashantgohel321","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/prashantgohel321/DevOps-Project-Two-Tier-Flask-App/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}