fix(github): fixed script #4
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 Voodle Frontend to DigitalOcean | |
on: | |
push: | |
branches: [main] | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.SERVER_SSH_KEY }} | |
known_hosts: ${{ secrets.KNOWN_HOSTS }} | |
- name: Deploy Frontend to DigitalOcean | |
env: | |
HOST: ${{ secrets.HOST }} | |
USER: ${{ secrets.USER }} | |
FRONTEND_ENV: ${{ secrets.FRONTEND_ENV }} | |
run: | | |
ssh $USER@$HOST << EOF | |
set -e | |
# Source the user's profile to ensure all necessary environment variables are set | |
source ~/.profile | |
# Ensure pnpm is in the PATH | |
export PATH="/home/$USER/.npm-global/bin:$PATH" | |
# Navigate to the frontend project directory | |
cd /var/www/voodle/client | |
# Pull the latest changes | |
git pull origin main | |
# Verify pnpm installation | |
which pnpm | |
pnpm --version | |
# Setup environment | |
echo "$FRONTEND_ENV" > .env | |
# Install dependencies and build | |
pnpm install | |
pnpm run build | |
# Restart the frontend service | |
pm2 describe voodle-frontend > /dev/null && pm2 restart voodle-frontend || pm2 start "pnpm start" --name "voodle-frontend" | |
# Save PM2 process list | |
pm2 save | |
echo "Frontend deployment completed successfully" | |
EOF |