https://github.com/akaspatranobis/bankapp-springboot
Bank Application CI/CD - Deployment on Docker and Kubernetes
https://github.com/akaspatranobis/bankapp-springboot
argocd docker docker-compose helm java jenkins kubernetes springboot
Last synced: 3 months ago
JSON representation
Bank Application CI/CD - Deployment on Docker and Kubernetes
- Host: GitHub
- URL: https://github.com/akaspatranobis/bankapp-springboot
- Owner: akaspatranobis
- Created: 2024-12-31T13:38:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-30T13:59:48.000Z (over 1 year ago)
- Last Synced: 2025-03-04T14:47:11.387Z (over 1 year ago)
- Topics: argocd, docker, docker-compose, helm, java, jenkins, kubernetes, springboot
- Language: HTML
- Homepage:
- Size: 3.38 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## End-to-End Bank Application Deployment using DevSecOps on AWS EKS
- This is a multi-tier bank an application written in Java (Springboot).


### PRE-REQUISITES FOR THIS PROJECT:
- AWS Account
- AWS Ubuntu EC2 instance (t2.medium)
- Install Docker
- Install docker compose
#
### DEPLOYMENT:
| Deployments | Paths |
| -------- | ------- |
| Deployment using Docker and Networking | Click me |
| Deployment using Docker Compose | Click me |
| Deployment using Jenkins on EKS | Click me |
| Deployment using Argocd on EKS| Click me |
#
### STEPS TO IMPLEMENT THE PROJECT
- **
Deployment using Docker
**
- Clone the repository
```bash
git clone -b DevOps https://github.com/akaspatranobis/BankApp-Springboot.git
```
#
- Install docker, docker compose and provide neccessary permission
```bash
sudo apt update -y
sudo apt install docker.io docker-compose-v2 -y
sudo usermod -aG docker $USER && newgrp docker
```
#
- Move to the cloned repository
```bash
cd Springboot-BankApp
```
#
- Build the Dockerfile
```bash
docker build -t akasdevops/springboot-bankapp .
```
> [!Important]
> Make sure to change docker build command with your DockerHub username.
#
- Create a docker network
```bash
docker network create bankapp
```
#
- Run MYSQL container
```bash
docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=Test@123 -e MYSQL_DATABASE=BankDB --network=bankapp mysql
```
#
- Run Application container
```bash
docker run -itd --name BankApp -e SPRING_DATASOURCE_USERNAME="root" -e SPRING_DATASOURCE_URL="jdbc:mysql://mysql:3306/BankDB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC" -e SPRING_DATASOURCE_PASSWORD="Test@123" --network=bankapp -p 8080:8080 akasdevops/springboot-bankapp
```
#
- Verify deployment
```bash
docker ps
```
#
- Open port 8080 of your AWS instance and access your application
```bash
http://:8080
```
### Congratulations, you have deployed the application using Docker
#
- **
Deployment using Docker compose
**
- Install docker compose
```bash
sudo apt update
sudo apt install docker-compose-v2 -y
```
#
- Run docker-compose file present in the root directory of a project
```bash
docker compose up -d
```
#
- Access it on port 8080
```bash
http://:8080
```
> [!Important]
> If you face issues with exiting docker container while running docker compose, run ``` docker compose down``` and then ``` docker compose up -d ```.
#