name: Deploy to Web Server on: push: branches: - main jobs: deploy: runs-on: docker steps: - name: Checkout uses: actions/checkout@v4 - name: Install SSH key uses: https://github.com/shimataro/ssh-key-action@v2 with: key: ${{ secrets.SSH_KEY }} name: aria-coffee-deploy # optional known_hosts: ${{ secrets.KNOWN_HOSTS }} if_key_exists: fail - name: Install pnpm uses: https://github.com/pnpm/action-setup@v4 with: version: 10 - name: Install Node.js uses: https://github.com/actions/setup-node@v4 with: node-version: 23 cache: 'pnpm' - name: Install dependencies run: pnpm install - name: Build website run: pnpm run build-action - name: Create folder if not exists run: | ssh -i ~/.ssh/aria-coffee-deploy ${{ vars.SERVER_USER }}@${{ vars.SERVER_HOST }} "mkdir -p /var/www/Aria/" - name: Clear old backup run: | ssh -i ~/.ssh/aria-coffee-deploy ${{ vars.SERVER_USER }}@${{ vars.SERVER_HOST }} "[ -d "/var/www/Aria/dist-old" ] && rm -r /var/www/Aria/dist-old" - name: Backup current install run: | ssh -i ~/.ssh/aria-coffee-deploy ${{ vars.SERVER_USER }}@${{ vars.SERVER_HOST }} "[ -d "/var/www/Aria/dist" ] && mv /var/www/Aria/dist /var/www/Aria/dist-old" - name: Copy over new build-action run: | scp -i ~/.ssh/aria-coffee-deploy -rv ./dist ${{ vars.SERVER_USER }}@${{ vars.SERVER_HOST }}:/var/www/Aria - name: Set permissions on the deployed files run: | ssh -i ~/.ssh/aria-coffee-deploy ${{ vars.SERVER_USER }}@${{ vars.SERVER_HOST }} "chmod -R 755 /var/www/Aria/dist"