Skip to content

Merge pull request #55 from Alternative-Die-Cutting-Inc/38-search-fun… #38

Merge pull request #55 from Alternative-Die-Cutting-Inc/38-search-fun…

Merge pull request #55 from Alternative-Die-Cutting-Inc/38-search-fun… #38

name: Beta Deployment
on:
workflow_dispatch:
push:
branches:
- dev
concurrency: beta-deployment
env:
REGISTRY: registry.digitalocean.com/altdieinc
BACKEND_IMAGE_NAME: "backend"
FRONTEND_IMAGE_NAME: "frontend"
TAG: "beta"
DIGITALOCEAN_API_KEY: ${{ secrets.DIGITALOCEAN_API_KEY }}
jobs:
backend:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Build backend image
run: cd backend && docker build -t backend:beta .
- name: Tag backend image
run: docker tag backend:beta registry.digitalocean.com/altdieinc/backend:beta
- name: Install doctl
uses: digitalocean/[email protected]
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Log in to DigitalOcean Container Registry
run: doctl registry login --expiry-seconds 600
- name: Remove old backend image
run: if [ ! -z "$(doctl registry repository list | grep "$(echo $BACKEND_IMAGE_NAME)")" ]; then doctl registry repository delete-tag $(echo $BACKEND_IMAGE_NAME) $(echo $TAG) --force; else echo "No repository"; fi
- name: Push backend image to container registry
run: docker push registry.digitalocean.com/altdieinc/backend:beta
frontend:
runs-on: ubuntu-20.04
needs:
- backend
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Make envfile
uses: SpicyPizza/[email protected]
with:
envkey_VITE_API_BASE_URL: "https://api.beta.alternativedc.com/"
file_name: .env
directory: frontend
- name: Build frontend image
run: cd frontend && docker build -t frontend:beta .
- name: Tag frontend image
run: docker tag frontend:beta registry.digitalocean.com/altdieinc/frontend:beta
- name: Install doctl
uses: digitalocean/[email protected]
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Log in to DigitalOcean Container Registry
run: doctl registry login --expiry-seconds 600
- name: Remove old frontend image
run: if [ ! -z "$(doctl registry repository list | grep "$(echo $FRONTEND_IMAGE_NAME)")" ]; then doctl registry repository delete-tag $(echo $FRONTEND_IMAGE_NAME) $(echo $TAG) --force; else echo "No repository"; fi
- name: Push frontend image to container registry
run: docker push registry.digitalocean.com/altdieinc/frontend:beta
# - name: Run garbage collector
# run: doctl registry garbage-collection start --include-untagged-manifests --force altdieinc
deploy_beta:
runs-on: ubuntu-20.04
needs:
- frontend
- backend
steps:
- name: Deploy over SSH
uses: appleboy/[email protected]
with:
host: beta.alternativedc.com
username: ${{ secrets.DO_SSH_USER }}
key: ${{ secrets.DO_SSH_KEY }}
script: ${{ secrets.BETA_DEPLOYMENT_SCRIPT }}