العودة إلى الدورة

استراتيجيات النشر (نظرة عامة على CI/CD ومثال عملي للنشر)

مطور Angular الشامل: من الصفر إلى الاحتراف

80. استراتيجيات النشر (نظرة عامة على CI/CD ومثال عملي للنشر)

الخطوة الأخيرة في دورة حياة تطوير Angular هي نشر الأصول الثابتة المُحسّنة على خدمة استضافة.

1. بيئة الاستضافة

نظراً لأن تطبيقات Angular هي تطبيقات SPAs، فإنها تتكون فقط من ملفات ثابتة (HTML، CSS، حزم JS). يمكن استضافتها على أي خادم ملفات ثابتة، أو CDN، أو منصة سحابية.

خيارات الاستضافة الشائعة:

  • Firebase Hosting: سريعة للغاية، ورائعة لتطبيقات Angular.
  • Vercel / Netlify: ممتاز للمواقع الثابتة وتكامل بنية serverless.
  • AWS S3 / CloudFront: قابلة للتوسع بدرجة كبيرة، ولكنها تتطلب المزيد من الإعداد.

2. التكامل المستمر/التسليم المستمر (CI/CD)

تقوم مسارات CI/CD بأتمتة عملية البناء والنشر في كل مرة يتم فيها دمج التعليمات البرمجية في الفرع الرئيسي.

خطوات CI/CD النموذجية:

  1. CI (التكامل): يقوم المطور بدفع التعليمات البرمجية -> يقوم مشغل CI (على سبيل المثال، GitHub Actions، GitLab CI) بسحب التعليمات البرمجية، ويشغل npm install، ويشغل اختبارات الوحدات (ng test)، ويشغل فحص الأخطاء (linting).
  2. CD (التسليم/النشر): إذا نجحت الاختبارات -> ينفذ المُشغّل ng build --prod -> يتم تحميل الإخراج (مجلد /dist) إلى خدمة الاستضافة الثابتة.

3. مثال عملي للنشر (Firebase)

غالباً ما تكون Firebase Hosting هي أبسط طريقة لنشر تطبيق Angular.

الخطوة 1: تثبيت Firebase CLI

bash npm install -g firebase-tools firebase login

الخطوة 2: تهيئة المشروع

bash firebase init hosting

الدليل العام: dist/

تهيئته كتطبيق أحادي الصفحة: Yes

الخطوة 3: البناء للإنتاج

bash ng build --configuration=production

الخطوة 4: النشر

bash firebase deploy --only hosting

يدفع أمر النشر النهائي هذا تطبيقك المُحسَّن إلى الإنترنت العام، ليكمل رحلتك من 'الصفر إلى الاحتراف'!