Skip to content

harshan890/Springboot-BankApp

 
 

Repository files navigation

End-to-End Bank Application Deployment using DevSecOps on AWS EKS

  • This is a multi-tier bank an application written in Java (Springboot).

Login diagram Transactions diagram

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
    git clone -b DevOps https://github.com/DevMadhup/Springboot-BankApp.git

    • Install docker, docker compose and provide neccessary permission
    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
    cd Springboot-BankApp

    • Build the Dockerfile
    docker build -t madhupdevops/springboot-bankapp .

Important

Make sure to change docker build command with your DockerHub username.

  • Create a docker network
docker network create bankapp

  • Run MYSQL container
docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=Test@123 -e MYSQL_DATABASE=BankDB --network=bankapp mysql

  • Run Application container
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 madhupdevops/springboot-bankapp

  • Verify deployment
docker ps

  • Open port 8080 of your AWS instance and access your application
http://<public-ip>:8080

Congratulations, you have deployed the application using Docker

  • Deployment using Docker compose

  • Install docker compose
sudo apt update
sudo apt install docker-compose-v2 -y

  • Run docker-compose file present in the root directory of a project
docker compose up -d

  • Access it on port 8080
  http://<public-ip>:8080

Important

If you face issues with exiting docker container while running docker compose, run docker compose down and then docker compose up -d.

CICD pipeline guide

About

An End-To-End Banking Application built using SpringBoot and Deployed using DevOps practices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 48.9%
  • Java 37.6%
  • Groovy 11.2%
  • Dockerfile 2.3%