CI/CD Kubernetes Deployment using Github Actions

1/5/2022

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?

-- kopilot.schneider
continuous-deployment
continuous-integration
github-actions
kubernetes
pipeline

1 Answer

1/5/2022

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

-- Harsh Manvar
Source: StackOverflow