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

استراتيجيات مراقبة المسارات

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

استراتيجيات مراقبة المسارات درس مجاني في 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 دروس في المجموع.

لماذا نراقب مسارات CI/CD؟

تخيلوا أنكم تبنون آلة معقدة. لن تشغّلوها فحسب وتأملوا أن تسير الأمور على أفضل نحو، أليس كذلك؟ بل سترغبون في معرفة ما إذا كانت تعمل، وما إذا كانت فعّالة، وما إذا كانت تتعطل.

ينطبق الأمر نفسه على مسارات CI/CD! تساعدكم المراقبة على فهم حالتها وأدائها وموثوقيتها. وهي ضرورية لتحديد الاختناقات ومنع المشكلات وضمان تسليم البرامج بسلاسة.

مقاييس مسار CI/CD الأساسية

لفهم حالة مسار CI/CD فهمًا حقيقيًا، ركّزوا على المقاييس الأساسية التالية:

  • معدل النجاح: كم مرة يكتمل مسار CI/CD بنجاح؟
  • معدل الفشل: كم مرة يفشل؟
  • المدة: كم من الوقت يستغرق تشغيله؟
  • الزمن إلى النشر: المدة من إجراء commit للشفرة إلى نشرها بنجاح.

يساعد تتبع هذه المقاييس على تحديد المشكلات وتحسين الكفاءة واتخاذ قرارات تستند إلى البيانات.

طرق العرض المدمجة في GitHub Actions

يوفر GitHub Actions طريقة مباشرة لمراقبة مسارات سير العمل من داخل واجهة المستودع مباشرةً.

انتقلوا إلى علامة التبويب "Actions" في مستودعكم على GitHub. ستظهر هنا قائمة بكل عمليات تشغيل سير العمل، وحالتها (نجاح أو فشل أو معلقة)، ومدتها. ويؤدي النقر على عملية تشغيل معينة إلى عرض سجلات مفصلة لكل مهمة وخطوة، وهو أمر بالغ القيمة عند تصحيح الأخطاء.

عرض الحالة سريعًا باستخدام الشارات

هل تريدون عرض حالة مسار CI/CD الخاص بكم بنظرة سريعة؟ يتيح لكم GitHub Actions تضمين شارة حالة مباشرةً في ملف README الخاص بالمستودع.

تُحدّث هذه الشارات تلقائيًا، وتوفر مؤشرًا مرئيًا لحظيًا لحالة أحدث عملية تشغيل لسير العمل لديكم (مثل النجاح أو الفشل). ويمكنكم إنشاء صيغة Markdown الخاصة بالشارة من علامة التبويب "Actions".

![CI Workflow Status](https://github.com/OWNER/REPO/actions/workflows/ci.yml/badge.svg)

فهم حالات المهام والخطوات

تملك كل مهمة وخطوة في سير عمل GitHub Actions حالةً من الحالات التالية: success أو failure أو cancelled أو skipped.

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

name: Status Check Example
on: [push]
jobs:
  check_status:
    runs-on: ubuntu-latest
    steps:
      - name: First step (success)
        run: echo "This step always succeeds"
      - name: Second step (simulated failure)
        run: exit 1
      - name: Third step (only if previous fails)
        if: failure()
        run: echo "Previous step failed!"

الاستجابة للحالة باستخدام 'if'

تتيح الكلمة الأساسية الشرطية if تشغيل الخطوات أو المهام فقط عند تحقق شروط معينة، مثل نجاح خطوة سابقة أو فشلها.

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

name: Conditional Run Example
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Always run this
        run: echo "Starting build..."
      - name: This step might fail
        run: exit 0 # Change to 'exit 1' to see failure branch
      - name: Run on success
        if: success()
        run: echo "Build succeeded!"
      - name: Run on failure
        if: failure()
        run: echo "Build failed, sending alert!"

إضافة رسائل مخصصة إلى السجل

على الرغم من أن GitHub Actions يوفر سجلات مفصلة تلقائيًا، قد تحتاجون أحيانًا إلى إضافة رسائلكم الخاصة لمزيد من الوضوح ولتسهيل تصحيح الأخطاء.

يمكنكم استخدام أوامر shell القياسية مثل echo ضمن خطوات run لطباعة رسائل مخصصة أو متغيرات أو تحديثات التقدم مباشرةً في سجلات سير العمل.

name: Custom Logging Example
on: [push]
jobs:
  log_info:
    runs-on: ubuntu-latest
    steps:
      - name: Print current time
        run: echo "Workflow started at: $(date)"
      - name: Perform a task
        run: |
          echo "Simulating a task..."
          sleep 2
          echo "Task completed."

تتبع وقت التنفيذ

تُعد مراقبة مدة المهام والخطوات أمرًا أساسيًا لتحديد اختناقات الأداء وتحسين مسارات CI/CD.

تتضمن سجلات GitHub Actions طوابع زمنية لكل خطوة تلقائيًا. ويمكنكم أيضًا فرض حد أقصى لوقت التشغيل باستخدام timeout-minutes على مستوى المهمة لمنع تشغيل مسارات سير العمل إلى أجل غير محدد.

name: Job Timeout Example
on: [push]
jobs:
  long_job:
    runs-on: ubuntu-latest
    timeout-minutes: 1 # Job will be cancelled after 1 minute
    steps:
      - name: Start a long process
        run: |
          echo "Starting a process that takes 2 minutes..."
          sleep 120 # This will exceed the timeout
      - name: This step might not run
        run: echo "Process finished."

استرداد البيانات المتقدم

للمراقبة الأكثر تقدمًا والتحليلات المخصصة، يمكنكم الوصول برمجيًا إلى بيانات عمليات تشغيل سير العمل باستخدام GitHub API.

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

اختبار سريع للحالة

تأملوا مقتطف سير العمل التالي. ماذا ستتم طباعته في السجلات إذا فشلت خطوة "Build Project"؟

name: Question Workflow
on: [push]
jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Build Project
        run: exit 1 # Simulate a failure
      - name: Notify on Success
        if: success()
        run: echo "Project built successfully!"
      - name: Notify on Failure
        if: failure()
        run: echo "Build failed, review logs."

مراجعة: مراقبة مسارات CI/CD

أحسنتم! لقد تعلمتم كيفية مراقبة مسارات CI/CD الخاصة بكم.

  • استكشفنا إمكانات المراقبة المدمجة في GitHub وشارات الحالة.
  • رأيتم كيفية استخدام شروط if للاستجابة لحالات المهام والخطوات.
  • وتناولنا إضافة رسائل مخصصة إلى السجل وتتبع مدد المهام.

تساعد هذه الاستراتيجيات على ضمان قوة مسارات CI/CD وموثوقيتها وأدائها الجيد. وقد ترغبون بعد ذلك في استكشاف دمج أدوات مراقبة خارجية!

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

هل درس «استراتيجيات مراقبة المسارات» مجاني؟

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

ماذا ستتعلم في «استراتيجيات مراقبة المسارات»؟

استكشفوا أساليب مراقبة حالة مسارات CI/CD وأدائها ومعدلات نجاحها. تتمرن على 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. التكامل مع الخدمات الخارجية
  3. إعداد الإشعارات والتنبيهات
  4. التسجيل المنظّم والتتبّع الموزّع
← العودة إلى CI/CD with GitHub Actions & DevOps Pipelines