Skip to content

🧬

🧬 #8

Workflow file for this run

name: Production Deploy
on:
push:
branches:
- production
jobs:
deploy:
name: Deploy via SSH
permissions:
deployments: write
runs-on: ubuntu-latest
steps:
- name: Set up SSH Key and Deploy on Server
uses: appleboy/ssh-action@master
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
with:
host: ${{ secrets.VPS_IP }}
username: ${{ secrets.VPS_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: 22
script: |
echo "Building and deploying backend..."
sudo -u forge bash -c "cd /home/forge/pak-ukr/source && git pull origin production"
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/backend && npm i"
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/backend && npm run build"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/backend/current && bash server/stop.sh"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/backend/current && bash server/uninstall.sh"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && mv current prev"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && mkdir current"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && cp -a /home/forge/pak-ukr/source/backend/build /home/forge/pak-ukr/source/backend/node_modules /home/forge/pak-ukr/source/backend/server /home/forge/pak-ukr/source/backend/package.json /home/forge/pak-ukr/source/backend/package-lock.json current"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && cp -a .env current"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && cp -a fullchain.pem privkey.pem current"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend/current && npm run prod/db:main:migrate"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/backend/current && bash server/install.sh"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/backend/current && bash server/start.sh"
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/backend && rm -rf build"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/backend && rm -rf prev"
echo "Building and deploying frontend..."
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/frontend && npm i"
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/frontend && npm run build-only"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/frontend/current && bash server/stop.sh"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/frontend/current && bash server/uninstall.sh"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/frontend && mv current prev"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/frontend && mkdir current"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/frontend && cp -a /home/forge/pak-ukr/source/frontend/dist current/public"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/frontend && cp -a /home/forge/pak-ukr/source/frontend/server current"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/frontend/current && bash server/install.sh"
sudo -u root bash -c "cd /home/forge/pak-ukr/production/frontend/current && bash server/start.sh"
sudo -u forge bash -c "cd /home/forge/pak-ukr/source/frontend && rm -rf dist"
sudo -u forge bash -c "cd /home/forge/pak-ukr/production/frontend && rm -rf prev"