radek-baczynski / example-aws

Example Workflow to deploy a static website to an existing Amazon EKS cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Amazon Web Service (AWS) - GitHub Action Example

An example workflow, using the GitHub Action for AWS to build, tag, and deploy a container image to a running Kubernetes cluster on EKS.

Workflow

The example workflow will trigger on every push to this repo.

For pushes to a feature branch, the workflow will:

  1. Build the Docker image from the included Dockerfile
  2. Tag and push the image to Amazon Elastic Container Registry

For pushes to the default branch (master), in addition to the above Actions, the workflow will:

  1. Create a deployment using config.yml on the running EKS cluster with the latest container image

Prerequisites

  1. Create an Amazon user with EKS IAM role permissions to EKS - eks user role

  2. Create a Repository in Amazon Elastic Container Registry to push images to

  3. Follow the Getting Started Guide to set up a cluster on EKS

  4. Generate a kubectl config with credentials to access the cluster - for example: aws eks update-kubeconfig --name $CLUSTER_NAME --region $AWS_DEFAULT_REGION - base64 encode this file and save this as the KUBE_CONFIG_DATA secret

    cat $HOME/.kube/config | base64

About

Example Workflow to deploy a static website to an existing Amazon EKS cluster

License:Creative Commons Zero v1.0 Universal


Languages

Language:HCL 50.9%Language:HTML 36.4%Language:Dockerfile 12.1%Language:Shell 0.6%