Skip to content

Commit

Permalink
Migrate GitHub actions workflow from GKE to EKS
Browse files Browse the repository at this point in the history
  • Loading branch information
steve.kamau committed Apr 20, 2024
1 parent 8225ca6 commit 92b7da1
Showing 1 changed file with 22 additions and 24 deletions.
46 changes: 22 additions & 24 deletions .github/workflows/testing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,42 @@ name: Testing OpenConceptLab Deployment
on: [push]

env:
GKE_ZONE: ${{ secrets.GKE_ZONE }}
GKE_PROJECT: ${{ secrets.GKE_PROJECT }}
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
NAMESPACE: ${{ secrets.NAMESPACE }}
APP_REPLICA_COUNT: ${{ secrets.APP_REPLICA_COUNT }}
PORT: ${{ secrets.PORT }}
GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
APP_DOMAIN: ${{ secrets.APP_DOMAIN }}
APP_NAME: ${{ secrets.APP_NAME }}
APP_DOMAIN: ${{ secrets.APP_DOMAIN }}
REDIS_HOST: ${{ secrets.REDIS_HOST }}
REDIS_PORT: ${{ secrets.REDIS_PORT }}
DB_HOST: ${{ secrets.DB_HOST }}
DB_PORT: ${{ secrets.DB_PORT }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
DB: ${{ secrets.DB }}
DB: ${{ secrets.DB }
ES_HOST: ${{ secrets.ES_HOST }}
ES_PORT: ${{ secrets.ES_PORT }}
ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
DEBUG: ${{ secrets.DEBUG }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
SENTRY_DSN_KEY: ${{ secrets.SENTRY_DSN_KEY }}
API_SUPERUSER_PASSWORD: ${{ secrets.API_SUPERUSER_PASSWORD }}
API_SUPERUSER_PASSWORD: ${{ secrets.API_SUPERUSER_PASSWORD }
API_SUPERUSER_TOKEN: ${{ secrets.API_SUPERUSER_TOKEN }}
API_BASE_URL: ${{ secrets.API_BASE_URL }}
API_INTERNAL_BASE_URL: ${{ secrets.API_INTERNAL_BASE_URL }}
EMAIL_NOREPLY_PASSWORD: ${{ secrets.EMAIL_NOREPLY_PASSWORD }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_STORAGE_BUCKET_NAME: ${{ secrets.AWS_STORAGE_BUCKET_NAME }}
AWS_REGION_NAME: ${{ secrets.AWS_REGION_NAME }}
DB_INSTANCE_NAME: ${{ secrets.DB_INSTANCE_NAME }}
BACKEND_PORT: ${{ secrets.BACKEND_PORT }}
BACKEND_APP_DOMAIN: ${{ secrets.BACKEND_APP_DOMAIN }}
FLOWER_USER: ${{ secrets.FLOWER_USER }}
FLOWER_PASSWORD: ${{ secrets.FLOWER_PASSWORD }}
FLOWER_HOST: ${{ secrets.FLOWER_HOST }}
FLOWER_PORT: ${{ secrets.FLOWER_PORT }}

jobs:
deploy_to_testing:
name: Deploy testing server to google kubernetes engine
name: Deploy testing server to AWS EKS
if: ${{ github.ref == 'refs/heads/develop'}}
runs-on: ubuntu-latest
environment:
Expand All @@ -53,22 +48,25 @@ jobs:
- name: Checkout
uses: actions/checkout@v3

- id: "auth"
uses: "google-github-actions/auth@v0"
with:
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
- name: Install AWS CLI
shell: bash
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
- name: Configure AWS Credentials
shell: bash
run: aws configure set aws_access_key_id ${{ env.AWS_ACCESS_KEY_ID }} && aws configure set aws_secret_access_key ${{ env.AWS_SECRET_ACCESS_KEY }} && aws configure set region ${{ env.AWS_REGION }}

- name: Authenticate with AWS EKS
shell: bash
run: aws eks --region ${{ env.AWS_REGION }} update-kubeconfig --name ${{ env.CLUSTER_NAME }}

- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e
with:
cluster_name: ${{ env.CLUSTER_NAME }}
location: ${{ env.GKE_ZONE }}
credentials: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}

- name: Deploy to Google Kubernetes engine
- name: Deploy to AWS EKS using Helm
shell: bash
run: cd deploy/ && cat deploy.sh && sh deploy.sh

0 comments on commit 92b7da1

Please sign in to comment.