aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/deploy.yaml
blob: efc080403043eec9659320f64d7aec0b452a8e02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
name: Deploy

on:
  workflow_run:
    workflows: ["Build"]
    branches:
      - main
    types:
      - completed

jobs:
  deploy:
    if: github.event.workflow_run.conclusion == 'success'
    name: Deploy to Kubernetes Cluster
    runs-on: ubuntu-latest
    environment: production

    steps:
      - name: Create SHA Container Tag
        id: sha_tag
        run: |
          tag=$(cut -c 1-7 <<< $GITHUB_SHA)
          echo "::set-output name=tag::$tag"

      # Check out the private Kubernetes repository for the
      # deployment.yaml file using a GitHub Personal Access
      # Token to get access.
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          repository: python-discord/kubernetes
          token: ${{ secrets.REPO_TOKEN }}

      - name: Authenticate with Kubernetes
        uses: azure/k8s-set-context@v1
        with:
          method: kubeconfig
          kubeconfig: ${{ secrets.KUBECONFIG }}

      - name: Deploy to Kubernetes
        uses: Azure/k8s-deploy@v1
        with:
          manifests: |
              site/deployment.yaml
          images: 'ghcr.io/python-discord/site:${{ steps.sha_tag.outputs.tag }}'
          kubectl-version: 'latest'