πŸ“ŒObjective

To containerize and deploy the backend of the bank application using CI/CD pipelines, ECR, Argo CD, and EKS. The process includes managing environment variables, setting up secrets, creating manifests, and automating deployment via GitHub Actions and Argo CD.


Project Folder Structure

Main_Bank_App_Backend/
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── cicd.yaml                # GitHub Actions workflow
β”œβ”€β”€ .env                             # DB credentials (not committed to GitHub)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ mvnw, mvnw.cmd
β”œβ”€β”€ pom.xml                          # Spring Boot project
β”‚
β”œβ”€β”€ deployment/                      # Kubernetes manifests
β”‚   β”œβ”€β”€ configmap.yaml
β”‚   β”œβ”€β”€ secret.yaml
β”‚   β”œβ”€β”€ deploy.yaml
β”‚   β”œβ”€β”€ ingress.yaml
β”‚   └── service.yaml
β”‚
β”œβ”€β”€ old-src/                         # legacy code (optional)
└── src/                             # source code

backend structure.png


1. Initial Setup: GitHub Repository

backend.png


2. GitHub Secrets & Variables

In the GitHub repo:

Navigate to β†’ Settings β†’ Secrets and variables β†’ Actions:

backend secrets.png