0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · درس

عمليات النشر الأزرق/الأخضر

أعدّوا استراتيجيات النشر الأزرق/الأخضر باستخدام GitHub Actions لتقليل وقت التوقف وتسهيل عمليات التراجع السريعة.

عمليات النشر الأزرق/الأخضر درس مجاني في CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CI/CD with GitHub Actions & DevOps Pipelines، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.

ما هو النشر الأزرق/الأخضر؟

مرحبًا بكم! سنتعمق في هذا الدرس في عمليات النشر الأزرق/الأخضر، وهي استراتيجية قوية لإصدار البرامج الجديدة.

صُممت هذه الاستراتيجية لتقليل وقت التوقف والمخاطر أثناء عمليات النشر، وضمان حصول المستخدمين دائمًا على تجربة سلسة.

فهم البيئتين الزرقاء والخضراء

تخيلوا أن لديكم بيئتي إنتاج متطابقتين: تُسمى إحداهما "Blue" والأخرى "Green".

  • Blue: هي بيئة التشغيل الحالية التي تخدم جميع زيارات المستخدمين.
  • Green: هي بيئة مطابقة غير نشطة تُستخدم لنشر الإصدارات الجديدة واختبارها.

آلية عمل النشر الأزرق/الأخضر

العملية بسيطة لكنها فعّالة:

  1. انشروا إصدار التطبيق الجديد إلى بيئة Green (غير النشطة).
  2. اختبروا الإصدار الجديد بدقة في Green.
  3. بعد الاطمئنان إلى نجاحه، حوّلوا جميع زيارات المستخدمين من Blue إلى Green.
  4. تصبح بيئة Blue القديمة غير نشطة، ويمكن الاحتفاظ بها لإجراء عمليات التراجع أو التحديث السريعة.

لماذا نستخدم النشر الأزرق/الأخضر؟

توفر هذه الاستراتيجية مزايا مهمة:

  • انعدام وقت التوقف: ينتقل المستخدمون بسلاسة إلى الإصدار الجديد دون أي انقطاع.
  • التراجع الفوري: عند ظهور مشكلات، يكفي إعادة توجيه الزيارات إلى بيئة Blue المستقرة.
  • تقليل المخاطر: اختبار الإصدارات الجديدة في بيئة شبيهة ببيئة الإنتاج قبل إطلاقها.

ما الذي ستحتاجون إليه

لتنفيذ النشر الأزرق/الأخضر، تحتاجون عادةً إلى ما يلي:

  • موازن تحميل: لتوجيه الزيارات إلى بيئة Blue أو Green.
  • بيئتان متطابقتان: وغالبًا ما تكونان مستندتين إلى السحابة لضمان الاتساق.
  • أداة أتمتة: مثل GitHub Actions لإدارة عمليات النشر وتحويل الزيارات.

تنسيق العملية باستخدام GitHub Actions

يمكن لـ GitHub Actions أتمتة كل خطوة من خطوات النشر الأزرق/الأخضر.

يمكنكم تعريف عمليات سير عمل من أجل:

  • البناء والنشر في البيئة غير النشطة.
  • تشغيل اختبارات آلية على النشر الجديد.
  • تشغيل تحويل الزيارات عبر API الخاص بموازن التحميل أو من خلال برنامج نصي.

نشر الإصدار الجديد

إليكم مقتطفًا مبسطًا من GitHub Actions لنشر إصدار التطبيق الجديد في بيئة 'Green'. لاحظوا استخدام اسم environment.

name: Deploy to Green

on:
  push:
    branches:
      - main

jobs:
  deploy-green:
    runs-on: ubuntu-latest
    environment: Green # Target the Green environment
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Deploy app to Green
        run: |
          echo "Deploying application version ${{ github.sha }} to Green environment..."
          # Your actual deployment commands go here
          # e.g., deploy to a specific AWS EC2 instance or Kubernetes namespace

تحويل الزيارات

بعد نجاح النشر والاختبار، تتمثل الخطوة الأخيرة في تحويل الزيارات. وغالبًا ما يتضمن ذلك تحديث موازن تحميل أو سجل DNS.

إليكم خطوة مفاهيمية في GitHub Actions من شأنها تشغيل عملية التحويل هذه:

name: Switch Traffic to Green

on:
  workflow_dispatch: # Manual trigger for traffic switch

jobs:
  switch-traffic:
    runs-on: ubuntu-latest
    steps:
      - name: Update Load Balancer to Green
        run: |
          echo "Switching load balancer traffic to Green environment..."
          # Call your load balancer's API or a script here
          # e.g., aws elbv2 modify-target-group-attributes ...
          # or kubectl apply -f green-ingress.yaml

عمليات التراجع الفورية

ماذا لو حوّلتم الزيارات إلى Green ثم ظهرت مشكلة حرجة؟

مع النشر الأزرق/الأخضر، يكون التراجع فوريًا! فما عليكم سوى إعادة توجيه زيارات موازن التحميل إلى بيئة Blue الأصلية المستقرة.

ويؤدي ذلك إلى تقليل تأثير الحوادث ووقت التعافي بدرجة كبيرة.

اعتبارات مهمة

رغم قوة النشر الأزرق/الأخضر، فإنه ينطوي على بعض الاعتبارات:

  • تكرار الموارد: تشغّلون بيئتين كاملتين، ما قد يضاعف تكاليف البنية التحتية.
  • ترحيلات قاعدة البيانات: قد يكون التعامل مع تغييرات قاعدة البيانات معقدًا، إذ قد تحتاج بيئتا Blue وGreen إلى الوصول إلى مخزن البيانات نفسه.
  • التطبيقات التي تحتفظ بالحالة: تتطلب التطبيقات ذات الحالة المستمرة تخطيطًا دقيقًا.

اختبار النشر الأزرق/الأخضر

فلنختبر فهمكم لعمليات النشر الأزرق/الأخضر.

ملخص الدرس

أحسنتم! لقد تعلمتم الآن عن عمليات النشر الأزرق/الأخضر.

  • تستخدم هذه الاستراتيجية بيئتين متطابقتين (Blue وGreen) لنشر الإصدارات الجديدة.
  • توفر انعدام وقت التوقف وعمليات التراجع الفورية.
  • يمكن لـ GitHub Actions أتمتة عملية النشر وتحويل الزيارات.
  • تذكّروا التخطيط لتكاليف الموارد وتغييرات قاعدة البيانات!

الأسئلة الشائعة

هل درس «عمليات النشر الأزرق/الأخضر» مجاني؟

نعم — نص درس «عمليات النشر الأزرق/الأخضر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CI/CD with GitHub Actions & DevOps Pipelines، انتقل إلى CoddyKit PRO. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.

ماذا ستتعلم في «عمليات النشر الأزرق/الأخضر»؟

أعدّوا استراتيجيات النشر الأزرق/الأخضر باستخدام GitHub Actions لتقليل وقت التوقف وتسهيل عمليات التراجع السريعة. تتمرن على CI/CD with GitHub Actions & DevOps Pipelines مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ CI/CD with GitHub Actions & DevOps Pipelines؟

لا تُشترط خبرة سابقة. CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «عمليات النشر الأزرق/الأخضر»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس CI/CD with GitHub Actions & DevOps Pipelines هذا؟

نعم. كل درس في CI/CD with GitHub Actions & DevOps Pipelines يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عمليات النشر الأزرق/الأخضر
  2. إصدارات Canary باستخدام Actions
  3. التراجع والتعافي من الكوارث
  4. علامات الميزات وعمليات الطرح التدريجي
← العودة إلى CI/CD with GitHub Actions & DevOps Pipelines