hemanthreddy00992/board_game

hemanth reddy

0

Cloud Security Engineer

DevOps Engineer

Software Engineer

Docker

Jenkins

Kubernetes

Hi In this project we will do CICD pipeline for Java based Game board selector application.

Ci pipeline ->

Using terraform to create a ec2 instances for Jenkins, sonarqube, jfrog.
Setup nexus using terraform
Install dependent plugins in Jenkins
Setup sonarqube , Jenkins, jfrog
Write Jenkins pipeline as checkout -> compile -> trivy fs scan -> sonarqube integration -> build code -> publish to nexus -> docker build -> docker tag -> trivy docker image scan -> docker push

Steps :

Install Jenkins
Login to Jenkins -> credentials -> docker cred (name) -> docker username and password
Plugins -> eclipse , docker,
Tools -> idk using eclipse, maven , docker
Install sonarqube : take ec2 instance > install docker > sudo docker run -d --name sonarqube -p 9000:9000 sonarqube:lts-community
Login to sonarqube : :9000 -> admin, admin -> goto administration create a token -> goto projects create a project manually by giving details locally and give the token to create project.
Install trivy to do trivy scanning on Jenkins server -> https://aquasecurity.github.io/trivy/v0.18.3/installation/
Pipeline ::

CD pipeline ->

Write manifest files like deployment, service for backend and frontend.
Check these files using online k8s clusters
Create EKS cluster, ArgoCD
Configure ARGO for deployment

Steps :

Create EKS Cluster From UI

Create Role for EKS Cluster: Go to AWS Management Console.-> IAM -> Roles -> Create role-> AWS Service -> EKS-cluster -> Click "Next" and provide a name for the role.
Create Role for EC2 Instances :
Create EKS Cluster: Navigate to Amazon EKS service.-> Click on "Create cluster".-> Enter the desired name, select version, and specify the role created in step 1.-> Configure Security Group, Cluster Endpoint, etc. -> create the cluster.
Create Compute Resources: Navigate to Amazon EKS service. -> Click on "Compute" or "Node groups".-> Provide a name for the compute resource.-> Select the role created in step 2.->Select Node Type & Size.-> Click "Next" and proceed to create the compute resource.
Configure Cloud Shell:

Create EKS Cluster From Terraform

Go to EKS_Terraform folder and give terraform init, terraform validate, terraform plan, terraform apply --auto-approve -> Your EKS cluster is created.

Install ArgoCD:

Create Namespace for ArgoCD: kubectl create namespace argocd
Apply ArgoCD Manifests: kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.4.7/manifests/install.yaml kubectl get all -n argocd
Patch Service Type to LoadBalancer: kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}' kubectl get svc -n argocd
Retrieve Admin Password: Username : admin kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d These commands will install ArgoCD into the specified namespace, set up the service as a LoadBalancer, and retrieve the admin password for you to access the ArgoCD UI.

Some Screenshots ::

Basic Feature Overview

Filter and search/sort within the game database
Add/Edit/Delete user accounts (with authentication)
Add/Edit/Delete user-added games
Add/Edit/Delete comments to games
Users can upload their own avatar images
Can filter games by category/mechanic
Like this project
0

Posted Dec 7, 2024

Devopsified Java based application using jenkins and deployed in Kubernetes

Likes

0

Views

0

Tags

Cloud Security Engineer

DevOps Engineer

Software Engineer

Docker

Jenkins

Kubernetes

Hosted static website on AWS S3
Hosted static website on AWS S3
terraform-flask-sanity
terraform-flask-sanity