Skip to content
EgyKode
08 · Continuous deliveryLab 47 / 59
Guided labgithub-actions

GitHub Actions: Build, Scan and Deploy to EKS

The same pipeline as the Jenkins lab, with no server to maintain and no stored AWS credentials.

Time
55 min
Level
Intermediate
Objectives
4 objectives
Cost
Billable

Where this fits in the platform

This lab adds

  • The same delivery, on a hosted runner with OIDC and no stored keys

Which lets you

Before you start

You will need

  • A GitHub repository
  • An AWS account
  • An EKS cluster (or adapt to any Kubernetes)

You will be able to

  • Authenticate to AWS from CI with OIDC instead of an access key
  • Push to ECR and deploy to EKS from a workflow
  • Compare a hosted CI service with a self-managed controller honestly

CostBillable

Depends on an existing cluster. Actions minutes are free on public repositories. ECR storage is inside the free tier at this scale; the EKS cluster you deploy to is $0.10/hour if you created one.

How to clean up

The scenario#

The Jenkins pipeline works, and it needs a server, plugins, backups and upgrades. For a project that already lives on GitHub, there is a path with none of that.

This is not a replacement for the Jenkins lab. Knowing both, and why you would pick each, is the actual skill.

Hands-on environment

Run it on AWS

This lab builds real cloud infrastructure, so it needs your own AWS account. Follow the cost and cleanup notes above — the resources are yours, and so is the bill.

Anything you tick here is your own record. EgyKode cannot see inside that terminal, so the success criteria stay self-assessed even when the environment checks your work for you.

A role GitHub can assume, with no stored key

Step 1 of 4

Clean up#

Run this even if you did not finish.

DestructiveThis removes real resources. Check which environment you are in first.

Terminal
aws ecr batch-delete-image --repository-name <repo> --image-ids imageTag=<tag>
kubectl delete deployment <name> -n <ns> --ignore-not-found
aws iam delete-role --role-name <github-deploy-role>   # after detaching policies

Cost of this lab: Depends on an existing cluster. Actions minutes are free on public repositories. ECR storage is inside the free tier at this scale; the EKS cluster you deploy to is $0.10/hour if you created one.

Success criteria

0 of 4

The concept behind it

Ready to try it without help?Do the challenge

Phase complete · 08 Continuous delivery

You can now: A commit becomes a scanned, tagged image and a deployment, with no manual step.

Next phase

Lab 47 of 59 on the project path

09 · GitOps deliveryGitOps Delivery with Argo CD: Sync, Drift & Self-HealDeploy by changing Git, then break the cluster by hand and watch Argo CD put it back.45 minIntermediate

Previous: Enterprise Multibranch CI/CD Pipeline with SonarQube & Trivy