An example workflow, using the GitHub Action for AWS to build, tag, and deploy a container image to a running Kubernetes cluster on EKS.
The example workflow will trigger on every push to this repo.
For pushes to a feature branch, the workflow will:
- Build the Docker image from the included
Dockerfile
- 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:
- Create a deployment using config.yml on the running EKS cluster with the latest container image
-
Create an Amazon user with EKS IAM role permissions to EKS - eks user role
-
Create a Repository in Amazon Elastic Container Registry to push images to
-
Follow the Getting Started Guide to set up a cluster on EKS
-
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 theKUBE_CONFIG_DATA
secretcat $HOME/.kube/config | base64