Udacity Cloud Devops Engineer Nanodegree Capstone Project

Project Overview

This project entails the deployment of kubernetes clusters to perform a blue-green deployment on AWS using jenkin CI, Cloudformation, docker images and Elastic Kubernetes Store


I developed a CI/CD pipeline for microservices applications with blue-green deployment. I developed Continuous Integration steps, such as typographical checking (aka “linting”). I also developed Contiguous Deployment steps. These includes:

  • Pushing the built Docker containers to the Docker repository
  • Deploying these Docker containers to a Kubernetes cluster. For Kubernetes cluster I used AWS EKS. To deploy my Kubernetes cluster using Cloudformation. I ran these from Jenkins as an independent pipeline.

Environment Setup

  • Create a Dockerfile
  • Create a Jenkinsfile including all the necessary steps
  • Create CloudFormation Script using setup_cluster.sh command
  • Install Jenkins and all the necessary plugins in the EC2 Instance

Running App

  • Run Docker: ./run_docker.sh
  • Run Kubernetes: ./run_kubernetes.sh

Uploading to the Docker Hub

  • Run ./upload_docker.sh to upload the api to the Docker Hub

Deploying App to AWS