Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jibrand/3-tier-cicd-using-gitlab
This project demonstrates the end-to-end deployment pipeline of a MERN stack application with CI/CD automation using GitLab CI, and deployment on AWS EC2
https://github.com/jibrand/3-tier-cicd-using-gitlab
aws devops docker ec2 gitlab mern mern-stack
Last synced: 5 days ago
JSON representation
This project demonstrates the end-to-end deployment pipeline of a MERN stack application with CI/CD automation using GitLab CI, and deployment on AWS EC2
- Host: GitHub
- URL: https://github.com/jibrand/3-tier-cicd-using-gitlab
- Owner: Jibrand
- Created: 2024-12-31T16:20:53.000Z (5 days ago)
- Default Branch: main
- Last Pushed: 2024-12-31T16:31:20.000Z (5 days ago)
- Last Synced: 2024-12-31T17:26:34.912Z (5 days ago)
- Topics: aws, devops, docker, ec2, gitlab, mern, mern-stack
- Language: JavaScript
- Homepage:
- Size: 132 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# MERN App CI/CD Deployment with GitLab, EC2, and Load Balancer
![3-Tier Application Deployment Diagram](./image.png)
## Project Overview
This project demonstrates the end-to-end deployment pipeline of a **MERN stack application** (MongoDB, Express, React, Node.js) with **CI/CD automation** using **GitLab CI**, and **deployment on AWS EC2**. The app is deployed behind an **Application Load Balancer (ALB)** for high availability and scalability. This solution ensures continuous integration and delivery (CI/CD), secure deployment processes, and scalability, meeting modern DevOps best practices.
## Technologies Used
- **MERN Stack** (MongoDB, Express, React, Node.js)
- **GitLab CI/CD** for automation
- **AWS EC2** for hosting the application
- **AWS Application Load Balancer (ALB)** for traffic distribution
- **Docker** for containerization
- **AWS Route 53** for DNS management
- **SSL/TLS Encryption** for secure connections## Features
- **Continuous Deployment (CD)** with GitLab CI
- **Scalable and fault-tolerant architecture** using EC2 and ALB
- **Secure deployment** with SSL/TLS and load balancing
- **Dockerized MERN app** for environment consistency## Architecture
1. **GitLab CI**:
- The application is hosted in a GitLab repository. Each commit triggers the pipeline for automated testing, building, and deployment.
2. **AWS EC2**:
- After the application is built, it is deployed to an AWS EC2 instance using Docker containers.
3. **AWS ALB (Application Load Balancer)**:
- An ALB is used to distribute incoming traffic across multiple EC2 instances for high availability.
## How to Star the Repository
If you find this project helpful, please star the repository on GitHub to show your support:
1. Click the ⭐ button in the top-right corner.---
## Author
**Jibran**
Passionate DevOps Engineer and Software Developer.
Connect with me on [LinkedIn](https://www.linkedin.com/in/muhammad-jibran220/).---
## Feedback & Contributions
Contributions are welcome! Feel free to fork the repository and submit a pull request.---