Deploy to Civo #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |