Tech with Jonathan
← Homelab

Project 05

Ship a web app to Kubernetes with GitHub Actions

Take a small web app from a GitHub repo to your homelab's Kubernetes cluster, deployed automatically on every merge by a self-hosted runner.

Status
Coming soon
Level
intermediate
Time
1 weekend
Tools
GitHub Actions, self-hosted runner, Docker, Kubernetes

What you’ll build

A small web app that builds, tests and deploys itself to your own cluster. Every merge to main runs a GitHub Actions workflow that:

  1. builds a container image,
  2. runs the tests,
  3. pushes the image to a registry,
  4. rolls it out to your k3s cluster, using a runner inside your homelab.

What you’ll be able to show

  • A public repo with a working workflow in .github/workflows/
  • A short write-up explaining how the workflow works, and why the deploy runs on a self-hosted runner
  • A screen recording of a deploy

What you need

  • Your homelab, with a self-hosted GitHub Actions runner (the Homelab path shows how to set it up)
  • A free GitHub account
  • The k3s cluster from Project 04

The full step-by-step guide and videos are coming soon.