Let's learn GitHub Actions in a self-hosted Homelab!

preview_player
Показать описание
Are you interested in automating your Homelab? Then learning GitHub Actions is a great way to get started! With GitHub Actions, you can automate the process of building, testing, and deploying applications on a Kubernetes Cluster. Instead of spending your day in front of a terminal, you can just sit back and let GitHub Actions do all the work for you. In this video, I’ll show you how to set up a project, install a self-hosted runner, and deploy an app on your local Kubernetes Cluster. Tune in to learn more about Homelab automation with GitHub Actions! #GitHubActions #Homelab #automation

Follow me:

Timestamps:

00:00 - Introduction
00:56 - Advertisement-*
01:32 - What is GitHub Actions?
03:27 - What's the plan?
04:40 - Where do GitHub Actions run?
05:43 - Why use a self-hosted GitHub Runner?
07:49 - Install the self-hosted Runner on Linux
10:18 - Prepare the Runner
11:45 - Create a new project
14:26 - Do a quick test
15:53 - Find GitHub Actions on the Marketplace
17:39 - Authenticate to the local Kubernetes Cluster
18:57 - Use the Secret in the workflow
19:15 - Deploy a Kubernetes Application
20:21 - Use Datree to prevent misconfiguration-*
22:53 - Use Cases

________________
All links with "*" are affiliate links.
Рекомендации по теме
Комментарии
Автор

You don't need to create an organization to use self-hosted runners. You can use them with repos on your personal profile too, it's just that you have to add the runner individually to each repository

vicentiubucingeni
Автор

pro tip! if you simply need a connection from github actions to your local network, tailscale is a great solution. It could still be useful even if you are using self-hosted runners in case your runners still don't have direct access to your desired network. No firewall holes, no SSH bastions/jump-hosts - just the tailscale daemon in your workflow and a subnet router somewhere in your private network.

jtcressy
Автор

Awesome tutorial, thanks for this.
Just a tip for those without organizations. You can also setup Action Runners within a Repo. No need to setup organizations.

And having automation helps with security, ways to deploy back if anything breaks, you can check what you have done, you can redeploy everything again if needed and the list goes on. Thanks for the video!

cajuclc
Автор

Thank you, Christian. Is this some kind of extension or copilot which autosuggest you inside VS Code?

erics
Автор

Great Tutorial.

i never use before because I usually use Jenkins to clone, build, test and deploy.
but this is a great video for add new insights about CI/CD Tools.

baguwes
Автор

The only thing I want is to limit the runner to be able to only ever communicate with whitelisted things in K8s. In case of hostile takeover of my repo, (say merging a new GitHub action) I want to be able to know that the runner is only ever having access to internal hosts I have pre-authorized it. Should I use nginx for this or native K8s or is there even a whitelist config in the runner?

astronemir
Автор

FWIW - adding a self hosted runner has/had moved to the repo itself now for me and not in my personal settings repo (personal account, not an org one)

stephenjackson
Автор

I'm confused about where to install it. Since there wasn't any guidance on which folder to be in, I changed directory into the /tmp folder and followed the instructions to install it as a service.

Will it run find like that? Or should I uninstall and reinstall someplace else?

majorgear
Автор

Thanks for the demo...tried in my home lab and it was fun...

mialeev
Автор

Shouldn't you deploy to Kubernetes with the kubectl set image deployments/YourAppName YourAppName=IMAGE:TAG command then you can check your rollout status like this: kubectl rollout status deployment/YourAppName - Then it will do a slow roll of your application.

dudley
Автор

Thanks for tutorial! There is no much info on the internet explaining self hosted runners, so it is very appreciated. Could you also make a simular for CircleCI?

женягуньков
Автор

The security concerns of running arbitrary code that was pushed to a repository were not fully addressed. Self hosted runners should be as isolated as possible and only put on private repos or ran with something like Gitea or GitLab in a private, internal environment

mzw
Автор

Hi, just little question on other subject.
Is this possible to do multiwan in proxmox. With exemple opentcpm, or other and how do ?
If is possible.
Ty for all.

itdevops
Автор

for kubernetes why not the gitops + argocd approach ?

sirsirae
Автор

Awesome tutorial. Thank you, Christian. I need to know which VS code extension that you use in this tutorial that auto-suggest the Github Action scripts?

ahmedgis
Автор

I am using it in combination with Maven builds and ArgoCD. Actions is very useful but some features aren’t fully mature enough yet

kevintijssen
Автор

Can you show how to setup a powershell environment runner?

gomez
Автор

Very well explained! I love actions and automations 😍 I am already using it with Terraform for a bit of my infrastructure setup.

techwithmarco
Автор

Moinsen. Genau richtig der Zeitpunkt muss mein Projekt für FIAE abgeben und mal jemand der mir die Runner erklärt. Bin bei 1:39 und schon am Kommentieren. Hmmm... Mal sehen was da noch kommt, sonst gibt es mega Diskussion im Discord. Versprochen. Grüße aus HH, dein dich lieb... upsie :)

zuimelanieforno
Автор

I am pretty excited too. In the same way, I also want to use it with Terraform ✌️
Thank you so much. I still have to learn Kubernetes I know the overview just need to get my hands dirty 😈

niravraychura
welcome to shbcf.ru