dit-digital-service-manual/.github/workflows/deploy-base.yaml

55 lines
1.2 KiB
YAML

name: Deploy
on:
workflow_call:
inputs:
image:
type: string
required: true
env_url:
type: string
required: true
env_name:
type: string
required: true
secrets:
KUBECONFIG: { required: true }
env:
NAMESPACE: dit-docs
jobs:
deploy:
timeout-minutes: 10
runs-on: [self-hosted, ubuntu-focal]
environment:
url: ${{ inputs.env_url }}
name: ${{ inputs.env_name }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Kubectl tool installer
uses: Azure/setup-kubectl@v3
- uses: azure/k8s-set-context@v3
with:
method: kubeconfig
kubeconfig: ${{ secrets.KUBECONFIG }}
- name: Setup Kustomize
uses: imranismail/setup-kustomize@v2
- name: Edit kustomization file
working-directory: kubernetes/base
run: kustomize edit set image IMAGE="${{ inputs.image }}"
- name: Deploy
working-directory: kubernetes/${{ inputs.env_name }}
run: |-
kustomize build | kubectl apply -f -
kubectl rollout -n "$NAMESPACE" status deployment/dsm-client-deployment -w --timeout=3m