项目作者: goody-h

项目描述 :
Jenkins CI/CD Pipeline for deploying to AWS Kubernetes
高级语言: Shell
项目地址: git://github.com/goody-h/Udacity-Capstone_Project.git
创建时间: 2020-04-19T03:01:12Z
项目社区:https://github.com/goody-h/Udacity-Capstone_Project

开源协议:

下载


Udacity Capstone Project

This is my final Udacity project. It provides the means of deploying a sample nginx application.

Demo

Load Balancer public DNS: a96038234679a4ccd90d04c539201676-951865754.us-west-2.elb.amazonaws.com

Setup

Jenkins setup

  • Install jenkins on a server
  • Download the Blue Ocean and aws pipeline plugin
  • Rolling deployment is implemented as per this manifest file

Kubernetes setup

Provision AWS kubernetes cluster (eks) using cloudformation scripts

  1. # Create network infrastructure first
  2. ./create.sh udacity network
  3. # After network stack has been created provision eks cluster
  4. ./create.sh udacity eks

Pipeline setup

The pipeline is setup using Blue Ocean and connected to the Github repository

  • A Jenkinsfile describes the tasks in the pipeline
  • A Linting stage checks for errors in the Dockerfile and html files
  • A build stage builds the docker image and pushes to docker hub
  • A deployment stage rolls out the deployment to aws kubernetes cluster

Result