تخطَّ إلى المحتوى

الـ Hosting والـ Deploy: كودك على الإنترنت

الدرس 7 من 20 4 دقايق قراءة

الهدف

بنهاية الدرس عندك Next.js app منشور على Vercel، DATABASE_URL معرّف في متغيرات البيئة (environment variables)، والـ API route تشتغل على الـ live URL.

ليش هذا الحين؟

ترى "يشتغل على جهازي" = مو منتج. المنتج هو اللي يشتغل على سيرفر يوصله الناس. الفجوة بين localhost و production هي المكان اللي تموت فيه أغلب المشاريع. هالدرس يعبّرك من localhost لـ production.

الفكرة

الاستضافة (Hosting) = مكان يشتغل فيه كودك 24/7. ثلاث خدمات تحتاجها:

Vercel — للـ Next.js و frontend:

  • Zero config — تربطه بـ GitHub، يبني وينشر تلقائيا
  • كل git push = نشر (deployment) جديد
  • مجاني للـ hobby projects
  • يدير SSL، شبكة توصيل المحتوى (CDN)، edge functions بدون أي إعداد منك

Railway — للـ backend workers و long-running processes:

  • لو عندك cron job أو queue processor — هنا يعيش
  • ما يناسب Next.js نفسه (Vercel أفضل له)

Neon — للـ database (غطّيناه في الدرس 03):

  • Serverless Postgres
  • مجاني للـ development و small production

التكامل والنشر المستمر (CI/CD) — Continuous Integration / Continuous Deployment:

  • CI: كل push يشغّل tests تلقائيا — لو فشلت، ماكو نشر
  • CD: لو نجحت، ينشر تلقائيا

ليش CI مهم؟ لأن "يشتغل على جهازي" مو كافي. الـ CI يشتغل في بيئة نظيفة = نفس بيئة production. لو الكود اشتغل عليها = فعلا يشتغل.

دورة الـ Deploy:

git push → GitHub → Vercel يكتشف التغيير
→ يبني المشروع (npm run build)
→ يشغّل الـ checks
→ ينشر على الـ URL