Elimde aktif geliştirmekte olduğum bir proje var.
🔧 Teknoloji:
- Frontend: Next.js (React)
- Backend: Laravel
- Sunucu: cPanel + CloudLinux (Node.js App aktif)
Localde geliştirdiğim frontend projesini:
👉 GitHub’a push ettiğimde
👉 Sunucunun otomatik olarak:
- güncel kodu çekmesi
- npm install çalıştırması
- npm run build alması
- build çıktısını canlı klasöre aktarması
- Node.js uygulamasını yeniden başlatması
💡 “git push = canlı site güncelleme” mantığında bir deploy sistemi istiyorum.
📁 Mevcut durum:
Sunucuda Node.js App çalışıyor fakat:
- build süreci manuel
- .next klasörü olmadığı için site çökebiliyor
- startup file / server.js / app.js karışıklığı yaşandı
- source kod ile canlı klasör birbirine karıştı
📦 Kurulmasını istediğim yapı:
Sunucuda:
- /frontend_repo → GitHub’dan gelen source kod
- /frontend → canlı çalışan klasör
- GitHub push sonrası
- SSH ile sunucuya bağlanılması
- git pull
- npm install
- npm run build
- rsync ile canlı klasöre aktarım
- Node.js app restart
- GitHub Actions workflow (deploy.yml)
- Sunucu tarafı deploy script (deploy.sh)
- Node.js App için doğru startup file (app.js veya server.js)
- klasör yapısının düzgün kurulması
- .env / config yönetimi (gerekirse)
- gerekirse rollback (yedek alma sistemi)
- cPanel ortamında çalışacak
- Node.js version: 20
- CloudLinux Node.js Selector aktif
- proje Next.js (App Router kullanıyor)
Ben sadece:
👉 localde kod yazayım
👉 git push yapayım
geri kalan her şey otomatik olsun.
🧠 Tercihim:
Bu işi daha önce yapmış, özellikle:
- Next.js deploy
- cPanel Node.js App
- GitHub Actions
- CI/CD
