5.4 · النشر (deployment) و CI/CD (Render، Railway، VPS)

المستوى 5 · المستوى الاحترافي والنشر (pro & deployment)

5.4النشر (deployment) و CI/CD (Render، Railway، VPS)

الهدف: قيادة تطبيقكم إلى الإنتاج (النشر على منصة، ومتغيرات البيئة، و HTTPS) وأتمتة التسليم (CI/CD) — الدورة الكاملة، من الفكرة إلى خدمة موثوقة على الخط.
الوقت المقدّر: 11 دقيقة · قراءة ذاتية · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • النشر = الوضع على الخط : تشغيل التطبيق على خادم متاح — PaaS بسيطة للبدء، وVPS للتحكم.
  • CI/CD = تسليم تلقائي : عند كل دفع، الاختبار (CI) ثم النشر إذا نجح كل شيء (CD) — انتهى النشر اليدوي المحفوف بالمخاطر.
  • الأسرار خارج الشيفرة : الإعداد والأسرار في متغيرات البيئة — أبدا في الشيفرة ولا في Git.

حالة مصغرة متسلسلة — ساليم يضع على الخط في الجزائر

واجهة ساليم المحوسبة تدور جيدا — لكن فقط على أجهزة الفريق في الجزائر. ينشرها على منصة : مستودع موصول، ومتغيرات بيئة مُدخَلة على المنصة، و HTTPS مفعَّل. ثم يضيف خط أنابيب : عند كل دفع، تدور الاختبارات، ولا يتبعها النشر إلا إذا نجحت. الحلقة الأخيرة من الحالات 5.1-5.3 — يسلّم ساليم خدمة حقيقية على الخط.

الحلقة الأخيرة من الحالات 5.1-5.3 — يختم ساليم التنميط والأداء ودوكر بالإنتاج.

1. النشر : PaaS أم VPS

النشر (deployment) يشغّل التطبيق على خادم متاح عبر الإنترنت (بدلا من localhost). تبسّط منصات PaaS كل شيء : نصل مستودع Git خاصتنا، فتبني المنصة وتشغّل، وتدير الخادم و HTTPS والتوسيع الأساسي — مع مستوى دخول متاح للبدء — مثالية للبدء. وفي الطرف الآخر، يعطي VPS (خادم افتراضي مستأجَر) مزيدا من التحكم لكن مزيدا من المسؤوليات : تثبيت Node، والضبط، والتأمين، وإدارة PM2، ووسيط عكسي، و HTTPS — أعقد، لكنه مكوِّن. وتقدم السحب الكبيرة لوحة قوية بمنحنى تعلم. يبدأ ساليم بمنصة PaaS : فواجهته على الخط باتباع توثيق المنصة، دون إدارة خادم.

التوصية : PaaS لوضع مشاريعكم على الخط بسرعة، و VPS لتعلم الإدارة أو كسب التحكم، والسحابة للحاجات المتقدمة.

2. CI/CD وأساسيات الإنتاج

يؤتمت CI/CD مسار الشيفرة ← الإنتاج. التكامل المستمر : عند كل دفع، يشغّل خط الأنابيب الاختبارات والتدقيق ليمسك المشاكل مبكرا. والنشر المستمر : إذا نجح كل شيء، يُنشَر الرمز تلقائيا. وتنشئ GitHub Actions خطوط الأنابيب هذه. الفوائد : الأتمتة (لا حركات يدوية مضنية بعد)، والموثوقية (لا شيء معطوب يذهب إلى الإنتاج)، والسرعة (التسليم غالبا بثقة)، والتتبع (كل نشر مربوط بمساهمة). الأساسيات : متغيرات البيئة (الإعداد + الأسرار، أبدا في الشيفرة / Git)، وHTTPS، والسجلات والمراقبة، وبيئات منفصلة (dev / staging / prod). يكتب ساليم أول خط أنابيب له : التثبيت، والاختبار، والنشر إذا كان أخضر — فهو التتويج، لا الإنشاء فقط بل التسليم.

وحتى بسيطا، يغيّر خط الأنابيب كل شيء : فالاختبارات لا تُنسى أبدا قبل نشر.

3. الاختيار دون خطأ

المفاضلة الجوهرية : البساطة مقابل التحكم. PaaS : بساطة قصوى، وتحكم دقيق أقل، واعتماد على المنصة — مثالية للبدء وكثير من المشاريع. VPS : تحكم كامل ومرونة، لكنكم تديرون كل شيء (الأمن، والتحديثات، والنسخ الاحتياطي) — مكوِّن، وأكثر تطلبا. ولنموذج أولي أو تمرين، يكفي نشر يدوي ؛ ومتى صار المشروع جادا، أو يُنشَر بانتظام، أو مع فريق، فحتى CI/CD بسيط يجلب قيمة حقيقية. يقارن ساليم عروض المستضيفين (الصيغ والحدود تتطور غالبا، فيتحقق من التوثيق الحالي لحظة الاختيار) ويجعل اختيار البنية الحساسة مصادَقا عليه من مديرية الأنظمة (DSI) قبل كشف بيانات حقيقية.

وفي كل الحالات، تبقى الأساسيات : الأسرار في متغيرات البيئة، و HTTPS، والسجلات والمراقبة، وبيئات منفصلة.

خطأ شائع في الفهم: « النشر هو نسخ ملفاتي على خادم — والأسرار يمكن أن تبقى في الشيفرة، فهو أبسط ». لا. النسخ باليد هو النشر اليدوي : مضنٍ، ومصدر أخطاء، واختبارات منسية، ونسخة غير مؤكدة. وأسرار في الشيفرة أو في Git ثغرة خطيرة : فالمفاتيح وكلمات السر تعيش في متغيرات بيئة المنصة، أبدا في المستودع. الأتمتة (CI/CD) + الإخراج (متغيرات البيئة)، هي القاعدة.
من الشيفرة إلى الإنتاج أتمتة التسليم دفع Git تعديل فيالشيفرةCI خط الأنابيب :اختبارات + تدقيقCD نشر تلقائي إذانجح كل شيءعلى الخط PaaS / VPS +HTTPS + مراقبة
أتمتة التسليم
نص المخطط (SEO / قارئات الشاشة / الترجمة): 1) الدفع : يدفع ساليم شيفرته في الجزائر. 2) CI : يثبّت خط الأنابيب ويختبر ويتحقق — وأي فشل يحجب التالي. 3) CD : إذا نجح كل شيء، نشر تلقائي نحو المنصة. 4) على الخط : يدور التطبيق مع HTTPS ومتغيرات البيئة والمراقبة. الدرس : أتمتوا التسليم لئلا تنشروا على العمى أبدا.

🔎 مثال ملموس — خط أنابيب ساليم

عند كل دفع : التثبيت، والاختبار، والنشر إذا كان أخضر.

# GitHub Actions (.github/workflows/ci.yml)
# عند كل دفع (push) :
#   npm install ← npm test ← النشر إذا كان أخضر
# الأسرار والإعداد : متغيرات بيئة المنصة
# PaaS : تبني من المستودع، و HTTPS تلقائي

القراءة : خط الأنابيب هو البوابة : لا شيء معطوب يمر.

الدرس : الأسرار تعيش في البيئة، أبدا في الشيفرة.

مفردات القسم

النشر
تشغيل التطبيق على خادم متاح عبر الإنترنت.

مثال بسيط: واجهة ساليم تغادر localhost نحو عنوان عمومي.

ما ليس كذلك: نسخ الملفات باليد دون خط أنابيب.

رد فعل: هل تطبيقي متاح خارج جهازي ؟

PaaS
منصة تبني التطبيق وتستضيفه من مستودع Git.

مثال بسيط: يصل ساليم مستودعه، فتدير المنصة الخادم و HTTPS.

ما ليس كذلك: خادم نديره بأنفسنا.

رد فعل: هل أحتاج التحكم، أم البساطة ؟

VPS
خادم افتراضي مستأجَر نديره بأنفسنا.

مثال بسيط: سيثبّت ساليم فيه Node و PM2 و HTTPS بنفسه.

ما ليس كذلك: منصة تدير البنية التحتية.

رد فعل: هل أنا مستعد لتحمل الأمن والصيانة ؟

CI/CD
خط أنابيب يختبر عند كل دفع وينشر إذا نجح كل شيء.

مثال بسيط: دفع ساليم يطلق الاختبارات ثم الوضع على الخط تلقائيا.

ما ليس كذلك: نشر يدوي بضربات أوامر.

رد فعل: هل يمكن لدفع أن يذهب إلى الإنتاج دون اختبارات ؟

متغيرات البيئة
الإعداد والأسرار توفرها البيئة، خارج الشيفرة.

مثال بسيط: مفتاح ساليم يعيش على المنصة، أبدا في Git.

ما ليس كذلك: سر مكتوب صلبا في الشيفرة.

رد فعل: هل يتسكع سر في مستودعي ؟

في التطبيق — نشر تطبيق وأتمتته

  1. انشروا تطبيق Node على منصة PaaS بسيطة : صِلوا مستودع Git خاصتكم، فتبني المنصة التطبيق وتشغّله، مع HTTPS.
  2. اضبطوا متغيرات البيئة على المنصة (الأسرار، والإعداد) — أبدا في الشيفرة ولا Git.
  3. ضعوا خط أنابيب CI/CD (GitHub Actions) : عند كل دفع، شغّلوا الاختبارات وانشروا تلقائيا إذا نجح كل شيء.
  4. أمّنوا أساسيات الإنتاج : HTTPS، والسجلات / المراقبة، وبيئات منفصلة (dev / staging / prod).
تقودون تطبيقكم إلى الإنتاج (النشر على منصة، ومتغيرات البيئة، و HTTPS) وتؤتمتون التسليم (CI/CD) — الدورة الكاملة، من الفكرة إلى خدمة موثوقة على الخط.

نص جاهز للقول — إعلان الوضع على الخط

« واجهتنا جاهزة للخروج من localhost : أنشرها على منصة — مستودع موصول، وأسرار في متغيرات البيئة، و HTTPS مفعَّل. وأضيف خط أنابيب بسيطا : اختبارات عند كل دفع، ونشر فقط إذا نجح كل شيء. وقبل كشف بيانات حقيقية، أجعل اختيار البنية مصادَقا عليه من مديرية الأنظمة. »

يُقال للمسؤول لاعتماد الوضع على الخط ومسار مديرية الأنظمة في البيانات الحساسة.

نموذج للنسخ واللصق — خط CI عام

name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm install
      - run: npm test

فردي / ميزانية صغيرة

ساليم وحده : تكفي PaaS + خط أنابيب يختبر عند كل دفع — دون خادم يُدار.

شركة صغيرة جدا / فريق مصغر

بيئتا dev و prod منفصلتان، والأسرار على المنصة : كل دفع مُختبَر قبل الوضع على الخط.

شركة صغيرة ومتوسطة في الجزائر

يجعل ساليم المستضيف والوصول مصادَقا عليهما من مديرية الأنظمة في الجزائر قبل كشف بيانات زبائن حقيقية.

فريق يبدأ

ثنائي : أحدهما يكتب خط الأنابيب، والآخر يتحقق من الأسرار و HTTPS ؛ ومراجعة قبل أول نشر تلقائي.

حذر: الأسرار : لا تضعوا أبدا مفاتيح ولا كلمات سر ولا رموزا في الشيفرة ولا Dockerfile ولا الصورة ولا مستودع Git — استعملوا متغيرات بيئة المنصة. التكاليف : صيغ المستضيفين وحدودهم تتطور غالبا، دون التزام هنا — تحققوا من توثيق المنصة الحالي لحظة الاختيار، دون الاعتماد على أرقام قديمة. البيانات الحساسة : اجعلوا اختيار البنية والوصول مصادَقا عليه من مديرية الأنظمة (وقانوني عند الحاجة) قبل كشف بيانات حقيقية.

✓ ممارسات جيدة

  • ابدؤوا بمنصة PaaS : بسيطة، و HTTPS مُدار.
  • ضعوا الإعداد والأسرار في متغيرات البيئة (أبدا في Git).
  • أتمتوا الاختبارات + النشر بخط أنابيب CI/CD (GitHub Actions).

✗ أخطاء شائعة

  • وضع الأسرار في الشيفرة أو مستودع Git.
  • النشر دون HTTPS (كلمات سر وبيانات مكشوفة).
  • النشر يدويا وعلى العمى (دون اختبارات مؤتمتة مسبقا).

النقاط الأساسية

  • النشر (deployment) : تشغيل التطبيق على خادم متاح (بدلا من localhost). PaaS (بسيطة) أو VPS / سحابة (مزيد من التحكم).
  • CI/CD (GitHub Actions) يؤتمت الشيفرة ← الإنتاج : CI (الاختبار عند كل دفع)، CD (النشر إذا نجح كل شيء). أتمتة، وموثوقية، وسرعة، وتتبع.
  • أساسيات الإنتاج : متغيرات البيئة (الإعداد + الأسرار، أبدا في الشيفرة / Git)، و HTTPS، والسجلات / المراقبة، وبيئات منفصلة.
  • هو تتويج المسار : لا إنشاء تطبيق فقط، بل تسليمه — خدمة حقيقية، على الخط، وموثوقة.

تحدي 48 ساعة — طبّق غدا

انشروا تطبيقا واحدا على منصة (مستودع موصول + HTTPS) مع أسراره في متغيرات البيئة : هل يطلق دفع الاختبارات ؟

قائمة الخروج من القسم
  • أستطيع شرح CI مقابل CD في جملة واحدة.
  • تطبيقي على الخط (HTTPS) دون سر في Git.
  • أعرف متى أنتقل من PaaS إلى VPS.
تقييم ذاتي 1-5 : هل نشري قابل لإعادة الإنتاج ومتتبَّع ؟هل يتسكع أي سر في شيفرتي أو سجل Git خاصتي ؟

أسئلة شائعة

PaaS أم VPS أم سحابة : كيف أختار أين أنشر تطبيق Node خاصتي ؟

حسب حاجتكم ومستواكم. تبسّط منصات PaaS كثيرا : نصل مستودع Git خاصتنا، فتبني المنصة التطبيق وتشغّله، وتدير الخادم و HTTPS والتوسيع الأساسي — مثالية للبدء ولكثير من المشاريع. وVPS (خادم افتراضي مستأجَر) يعطي مزيدا من التحكم لكن مزيدا من المسؤوليات : تديرون كل شيء (Node، و PM2، والوسيط العكسي، و HTTPS) — أعقد، لكنه مكوِّن. وتقدم السحب الكبيرة لوحة قوية بمنحنى تعلم. التوصية : ابدؤوا بمنصة PaaS لوضع مشاريعكم على الخط ؛ وانتقلوا إلى VPS لتعلم الإدارة ؛ واستكشفوا السحابة للحاجات المتقدمة. قارنوا العروض لحظة الاختيار (فهي تتطور) واجعلوها مصادَقا عليها من مديرية الأنظمة قبل كشف بيانات حساسة.

لماذا نضع CI/CD، وهل هو ضروري للمشاريع الصغيرة ؟

يؤتمت CI/CD مسار الشيفرة نحو الإنتاج : CI (عند كل دفع، يتحقق خط الأنابيب — اختبارات، وتدقيق)، وCD (إذا نجح كل شيء، نشر تلقائي). الفوائد : الأتمتة (انتهى اليدوي المضني المحفوف بالمخاطر)، والموثوقية (لا شيء معطوب يذهب إلى الإنتاج)، والسرعة (التسليم غالبا بثقة)، والتتبع (كل نشر مربوط بمساهمة). ولنموذج أولي للرمي، ليس صارما. ومتى صار المشروع جادا، أو يُنشَر بانتظام، أو مع فريق، فحتى خط أنابيب بسيط يجلب قيمة حقيقية. ابدؤوا بسيطا : التثبيت، والاختبار، والنشر إذا نجح كل شيء.

تحقّق من فهمك

ماذا يفعل خط أنابيب CI/CD ؟

موارد إضافية (اختياري، للتعمّق أكثر)

اختبار المستوى 5أسئلة جديدة وأصعب للتحقق من مكتسباتك