Deploy #21
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 | |
env: | |
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- 'v*' | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '18.1' | |
- name: Extract Tag Name | |
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: Install Yarn | |
run: npm install -g yarn | |
- name: Clear Yarn Cache | |
run: yarn cache clean | |
- name: Install Dependencies | |
run: yarn install | |
- name: Build Shared Package | |
run: | | |
cd shared | |
yarn build | |
- name: Install Vercel CLI | |
run: npm install --global vercel@latest | |
- name: Pull Vercel Environment Information | |
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Build Frontend Project | |
run: | | |
cd frontend | |
vercel env add plain NEXT_PUBLIC_VERSION $VERSION production --token=${{ secrets.VERCEL_TOKEN }} | |
vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Deploy Frontend Project to Vercel | |
run: | | |
cd frontend | |
vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Deploy backend | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
key: ${{ secrets.KEY }} | |
script: | | |
cd /home/vimracing | |
git fetch origin | |
git reset --hard origin/main | |
yarn | |
cd shared | |
yarn build | |
cd ../backend | |
yarn run build | |
pm2 delete -s api.vimracing || : | |
pm2 start dist/index.js --name api.vimracing |