🧬 #12
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: 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" |