chore: Migrate staging environment to AWS #83
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: Matrix Deployment | |
on: [push] | |
env: | |
GKE_ZONE: ${{ secrets.GKE_ZONE }} | |
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }} | |
NAMESPACE: ${{ secrets.NAMESPACE }} | |
SYNAPSE_DOMAIN: ${{ secrets.SYNAPSE_DOMAIN }} | |
ELEMENT_DOMAIN: ${{ secrets.ELEMENT_DOMAIN }} | |
APP_NAME: ${{ secrets.APP_NAME }} | |
DATABASE_INSTANCE_CONNECTION_NAME: ${{ secrets.DATABASE_INSTANCE_CONNECTION_NAME }} | |
DB_HOST: ${{ secrets.DB_HOST }} | |
DB_NAME: ${{ secrets.DB_NAME }} | |
DB_PASSWORD: ${{ secrets.DB_PASSWORD }} | |
DB_USER: ${{ secrets.DB_USER }} | |
SERVER_NAME: ${{ secrets.SERVER_NAME }} | |
JWT_ENABLED: ${{ secrets.JWT_ENABLED }} | |
JWT_SECRET: ${{ secrets.JWT_SECRET }} | |
JWT_ALGORITHM: ${{ secrets.JWT_ALGORITHM }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
jobs: | |
deploy_to_testing: | |
name: Deploy testing matrix server to EKS | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
environment: [test, sil-testing] | |
# if: ${{ github.ref == 'refs/heads/develop'}} | |
environment: | |
name: ${{ matrix.environment }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- id: "auth" | |
uses: "aws-actions/configure-aws-credentials@v1" | |
with: | |
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{env.AWS_REGION}} | |
- name: Install Helm | |
run: | | |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash | |
- name: Update kube config | |
run: aws eks update-kubeconfig --name $CLUSTER_NAME --region $AWS_REGION | |
- name: Deploy to Amazon Kubernetes Service | |
shell: bash | |
run: cd deploy/ && cat deploy.sh && sh deploy.sh | |
deploy_to_prod: | |
name: Deploy prod matrix server to GKE | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
environment: [prod, sil-prod] | |
environment: | |
name: ${{ matrix.environment }} | |
if: ${{ github.ref == 'refs/heads/main'}} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- id: "auth" | |
uses: "google-github-actions/auth@v1" | |
with: | |
credentials_json: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }} | |
project_id: ${{ secrets.GOOGLE_CLOUD_PROJECT }} | |
- name: Install Helm | |
run: | | |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash | |
- uses: google-github-actions/get-gke-credentials@v1 | |
with: | |
cluster_name: ${{ env.CLUSTER_NAME }} | |
location: ${{ env.GKE_ZONE }} | |
- name: Deploy to Google Kubernetes engine | |
shell: bash | |
run: cd deploy/ && cat deploy.sh && sh deploy.sh |