From ab6a5c09752da02212ab293a00f4e7124fedafcd Mon Sep 17 00:00:00 2001 From: pulkit Date: Fri, 20 Sep 2024 19:31:49 +0530 Subject: [PATCH] feat: added github workflow --- .github/workflows/deploy.yml | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..10da682 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,42 @@ +name: Build & Deploy +on: + push: + branches: [main] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Deploy NodeJS app to Vultr + uses: appleboy/ssh-action@v0.1.2 + with: + host: ${{ secrets.SSH_HOST }} + key: ${{ secrets.SSH_KEY }} + username: ${{ secrets.SSH_USERNAME }} + script: | + # Navigate to the project directory + cd ~/devpulkit.in + + # Update the repository + git pull origin main + + # Ensure Node.js and npm are available + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + + # Install dependencies + npm install + + # Build the project + npm run build + + # Install PM2 globally if not already installed + npm install pm2@latest -g + + # Restart the application using PM2 + pm2 restart devpulkit || pm2 start npm --name "devpulkit" -- start + + echo 'Deployment successful to Vultr' \ No newline at end of file