Skip to content

Documentation/general #39

Documentation/general

Documentation/general #39

name: CI/CD Emerynet
on:
pull_request:
branches:
- develop
types:
- closed
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Skaffold
run: |
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
sudo install skaffold /usr/local/bin/
shell: bash
- name: Authenticate with Google Cloud
uses: google-github-actions/setup-gcloud@v0
with:
service_account_key: ${{ secrets.GCP_AUTH_KEY }}
project_id: ${{ secrets.PROJECT_ID }}
export_default_credentials: true
- name: Activate Service Account
run: |
gcloud auth activate-service-account ${{ secrets.GCP_SA }} --key-file=$GOOGLE_APPLICATION_CREDENTIALS
gcloud components install gke-gcloud-auth-plugin
- name: Login to GCR
uses: docker/login-action@v3
with:
registry: eu.gcr.io
username: _json_key
password: ${{ secrets.GCP_AUTH_KEY }}
- name: Login to Kubernetes
uses: azure/k8s-set-context@v1
with:
kubeconfig: ${{ secrets.KUBECONFIG }}
cluster-context: ${{ secrets.CLUSTER_CONTEXT }}
namespace: ${{ secrets.K8S_NAMESPACE_EMERYNET }}
- name: Build and push Docker images
run: |
cd frontend
export $(grep -v '^#' .env.emerynet | xargs)
envsubst < ../deployment/emerynet/workloads/config/ui-config.template.yaml > ../deployment/emerynet/workloads/config/ui-config.yaml
envsubst < skaffold.emerynet.template.yaml > skaffold.emerynet.yaml
skaffold run --filename skaffold.emerynet.yaml
shell: bash