Skip to content

Replace with correct server directory #14

Replace with correct server directory

Replace with correct server directory #14

Workflow file for this run

name: Build & Deploy Next.js to cPanel (Dynamic)
on:
push:
branches: [main]
workflow_dispatch:
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- name: Install deps
run: npm ci
- name: Build Next.js app (Dynamic)
env:
NEXT_PUBLIC_BASE_URL: ${{ secrets.NEXT_PUBLIC_BASE_URL }}
MONGODB_URI: ${{ secrets.MONGODB_URI }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
BREVO_API_KEY: ${{ secrets.BREVO_API_KEY }}
BREVO_SENDER_EMAIL: ${{ secrets.BREVO_SENDER_EMAIL }}
BREVO_SENDER_NAME: ${{ secrets.BREVO_SENDER_NAME }}
GMAIL_CLIENT_ID: ${{ secrets.GMAIL_CLIENT_ID }}
GMAIL_CLIENT_SECRET: ${{ secrets.GMAIL_CLIENT_SECRET }}
GMAIL_REFRESH_TOKEN: ${{ secrets.GMAIL_REFRESH_TOKEN }}
GMAIL_USER: ${{ secrets.GMAIL_USER }}
RECIPIENT: ${{ secrets.RECIPIENT }}
run: npm run build
- name: Create restart marker (Passenger)
run: |
mkdir -p tmp
date +%s > tmp/restart.txt
- name: Deploy via FTP to cPanel
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.FTP_HOST }}
username: ${{ secrets.FTP_USER }}
password: ${{ secrets.FTP_PASS }}
local-dir: ./
server-dir: ${{ secrets.FTP_SERVER_DIR }}
exclude: |
.git/**
**/.git*
.github/**
**/node_modules/**
**/*.map
**/.next/cache/**
**/out/**
**/.env*
**/README.md
**/.github/workflows/**
**/deploy.sh
**/build-static.js
- name: Notify deployment completion
run: |
echo "🚀 Dynamic deployment completed!"
echo "📝 Manual steps required:"
echo " 1. Go to cPanel → Node.js Apps"
echo " 2. Click 'Install Dependencies'"
echo " 3. Click 'Build Application'"
echo " 4. Click 'Start Application'"