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

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

الدرس 7 من 20

الهدف

بنهاية الدرس عندك 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

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net