Skip to content

Deploy to Civo

Deploy to Civo #6

Workflow file for this run

name: Deploy to Civo
on:
workflow_run:
workflows: ["Build and Publish Docker Images Prod"]
branches: [master]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create kubeconfig
run: |
mkdir ${HOME}/.kube
echo ${{ secrets.CIVO_KUBECONFIG }} | base64 --decode > ${HOME}/.kube/config
- name: Generate TLS Secrets
run: |
rm -f ${HOME}/ingress.crt ${HOME}/ingress.key
echo ${{ secrets.INGRESS_CERT }} | base64 --decode > ${HOME}/ingress.crt
echo ${{ secrets.INGRESS_CERT_KEY }} | base64 --decode > ${HOME}/ingress.key
kubectl create secret tls apiboard.ever.team.co-tls --save-config --dry-run=client --cert=${HOME}/ingress.crt --key=${HOME}/ingress.key -o yaml | kubectl apply -f -
- name: Apply k8s manifests changes in Civo k8s cluster (if any)
run: |
envsubst < $GITHUB_WORKSPACE/.deploy/k8s/k8s-manifest.civo.yaml | kubectl --context ever apply -f -
env:
SENTRY_DSN: "${{ secrets.SENTRY_DSN }}"
SENTRY_TRACES_SAMPLE_RATE: "${{ secrets.SENTRY_TRACES_SAMPLE_RATE }}"
SENTRY_HTTP_TRACING_ENABLED: "${{ secrets.SENTRY_HTTP_TRACING_ENABLED }}"
SENTRY_POSTGRES_TRACKING_ENABLED: "${{ secrets.SENTRY_POSTGRES_TRACKING_ENABLED }}"
# we need this step because for now we just use :latest tag
# note: for production we will use different strategy later
- name: Restart Pods to pick up :latest tag version
run: |
kubectl --context ever rollout restart deployment/ever-teams-boards-server