We are thinking about migrating our infrastructure to Kubernetes. All our Source-code is in GitHub, Docker containers are in Docker Hub.
I would like to have a CI/CD pipeline for Kubernetes only using GitHub and Docker Hub. Is there a way?
If not, what tools (as few as possible) should we use?
You can go it as per need using the Github Action and Docker hub only.
You should also checkout the keel with GitHub :https://github.com/keel-hq/keel
Step: 1
name: Stable Build
on:
push:
tags:
- "*.*.*"
...
- name: Set tag in env
run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
...
tags: runq/go-kube:${{ env.TAG }}, runq/go-kube:latest
Step : 2
Once build is done you can push it to Docker Hub
Step : 3
Keel can auto-update the deployment, but if you don't want that you can each time apply the YAML config from Github action also.
Read more at : https://dev.to/achu1612/ci-cd-for-kubernetes-using-github-actions-and-keel-4b7c
If you are planning to use Azure you should checkout : https://github.com/marketplace/actions/deploy-to-kubernetes-cluster