/example-aws

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

Primary LanguageHCLCreative Commons Zero v1.0 UniversalCC0-1.0

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