This action provides kubectl
for GitHub Actions.
If you upgrade from v1 to v2, note that you need to specify new variables via with
, namely version
, config
, and command
. See below for an example.
.github/workflows/push.yml
on: push
name: deploy
jobs:
deploy:
name: deploy to cluster
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: deploy to cluster
uses: steebchen/kubectl@v2.0.0
with: # defaults to latest kubectl binary version
config: ${{ secrets.KUBE_CONFIG_DATA }}
command: set image --record deployment/my-app container=${{ github.repository }}:${{ github.sha }}
- name: verify deployment
uses: steebchen/kubectl@v2.0.0
with:
config: ${{ secrets.KUBE_CONFIG_DATA }}
version: v1.21.0 # specify kubectl binary version explicitly
binaries-url: "https://dl.k8s.io/release/v1.21.0/bin/linux/amd64/kubectl" # specify the download url explicitly
command: rollout status deployment/my-app
command
– required: The command you want to run, without kubectl
, e.g. get pods
config
– required: A base64-encoded kubeconfig file with credentials for Kubernetes to access the cluster. You can get it by running the following command:
cat $HOME/.kube/config | base64
version
: The kubectl version with a 'v' prefix, e.g. v1.21.0
. It defaults to the latest kubectl binary version available.
binaries-url
: The url to download the binaries from. It defaults to the official release page if empty.
Note: Do not use kubectl config view as this will hide the certificate-authority-data.