Skip to content

Build a CI/CD pipeline for microservices web app with rolling deployment.

Notifications You must be signed in to change notification settings

saibodicherla/Robo-friends-web-app

Repository files navigation

🏗️ CI/CD pipeline for Robo-friends application using rolling deployment strategy

Project Description 📝

  • Build an web application that lets you search between Robots API and generates robots by name.
  • Build an automated CI-CD pipeline that deploys a React.js application into a Kubernetes cluster in a rolling deployment fashion hosted with AWS EKS & ECR.
  • Every code change pushed into this repository is validated by a Jenkins.

Setup the Environment ⚙️

In order to run this project, you need to have AWS Account, AWS CLI, Docker, eksctl, kubectl.

After setting up the enviroment, you need to run

> aws --version

Test your environment using Kubectl and eksctl

> kubectl version --short --client
> eksctl version
> docker -v

Project Folder structure 🗃

. ├── Dockerfile # Build an image of the app to be published in AWS Elastic Container RegistryECR ├── Infra │ └── appDeployment.yml # Deploy the ECR in AWS Elastic Kubernetes ServiceEks ├── Jenkinsfile # Setup CI/CD pipeline that will automate the deployment using Jenkins and Deploy into AWS EKS ├── README.md ├── jenkins # Created AWS infrastructure for Jenkins │ ├── create.sh │ ├── jenkins-parameters.json │ ├── jenkins_infra.yml │ └── update.sh ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json └── src ├── App.test.js ├── components │ ├── Card.js │ ├── CardList.js │ ├── Scroll.js │ └── SearchBox.js ├── containers │ ├── App.css │ └── App.js ├── index.css ├── index.js └── serviceWorker.js