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

إعداد الإشعارات والتنبيهات

هيّئوا الإشعارات والتنبيهات الآلية لفشل المسارات أو نجاحها أو وقوع أحداث مهمة باستخدام قنوات اتصال متنوعة.

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

لماذا إشعارات خط الأنابيب؟

في ظل التطوير السريع، تُعد معرفة حالة خط أنابيب CI/CD أمرًا بالغ الأهمية. وتُبقي الإشعارات التلقائية فريقك على اطلاع بالأحداث المهمة.

يستكشف هذا الدرس كيفية إعداد تنبيهات للعمليات الناجحة والفاشلة وغيرها من مراحل خط الأنابيب المهمة باستخدام GitHub Actions.

إشعارات GitHub المضمّنة

يوفّر GitHub إشعارات أساسية جاهزة للاستخدام. إذا كنت تتابع مستودعًا، فستتلقى إشعارات عبر البريد الإلكتروني أو الويب بشأن عمليات سير العمل.

  • نجاح: اكتمل سير العمل.
  • فشل: فشل سير العمل.
  • محايد: أُلغي سير العمل.

ومع ذلك، تكون هذه الإشعارات غالبًا شخصية، ولا توفّر التواصل الفوري على مستوى الفريق اللازم لتطبيق CI/CD بفعالية.

قنوات الإشعارات الشائعة

لسد هذه الفجوة، يتكامل GitHub Actions مع مجموعة متنوعة من الخدمات الخارجية. وتشمل القنوات الشائعة لتنبيهات الفريق ما يلي:

  • Slack: منصة شائعة للتواصل بين أعضاء الفريق.
  • Microsoft Teams: أداة أخرى واسعة الاستخدام للتعاون.
  • البريد الإلكتروني: للتنبيهات الرسمية أو الأقل إلحاحًا.
  • خطافات الويب المخصصة: للتكامل مع أي خدمة تقريبًا.

وتتيح هذه القنوات تحديثات مركزية وفورية.

تكامل Slack مع Actions

يُعد التكامل مع Slack طريقة شائعة للحصول على تحديثات فورية بشأن خط الأنابيب. يمكنك استخدام GitHub Marketplace Action أو إرسال البيانات مباشرةً إلى خطاف ويب في Slack.

تُبسّط Marketplace Actions هذه العملية من خلال إخفاء تفاصيل طلبات HTTP.

سير عمل بسيط لإشعارات Slack

إليك سير عمل أساسيًا يرسل إشعارًا إلى Slack عند كل عملية دفع إلى الفرع main. لاحظ استخدام GitHub Secret لعنوان URL الخاص بخطاف الويب.

name: Notify on Push

on: 
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Send Slack Notification
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "New push to main branch!"
          SLACK_COLOR: "good"

الإشعارات المشروطة (عند الفشل)

غالبًا ما تريد تلقي إشعار فقط عند حدوث مشكلة ما. يتيح لك GitHub Actions إضافة شروط إلى الخطوات باستخدام تعبيرات if:.

يتحقق التعبير failure() مما إذا كانت أي خطوة سابقة في المهمة قد فشلت. ويساعد ذلك على تقليل الضوضاء في قنوات التواصل.

name: Notify on Failure

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: This step will fail
        run: exit 1 # Simulate a failure

      - name: Send Failure Notification to Slack
        if: failure()
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "Workflow failed on ${{ github.ref }}!"
          SLACK_COLOR: "danger"

تنبيهات خطاف الويب المخصص

بالنسبة إلى الخدمات التي لا يتوفر لها GitHub Action مخصص، يمكنك استخدام خطاف ويب عام. ويتضمن ذلك إرسال طلب HTTP POST، غالبًا باستخدام curl، إلى عنوان URL محدد.

يوفّر ذلك أقصى قدر من المرونة، إذ يتيح التكامل مع لوحات المعلومات المخصصة وأنظمة إدارة الحوادث، أو حتى بوابات الرسائل النصية القصيرة.

name: Custom Webhook Alert

on: [workflow_dispatch]

jobs:
  alert:
    runs-on: ubuntu-latest
    steps:
      - name: Send Custom Alert
        run: |
          curl -X POST -H "Content-Type: application/json" \
          -d '{"text":"A custom alert from GitHub Actions!"}' \
          ${{ secrets.CUSTOM_WEBHOOK_URL }}
        env:
          CUSTOM_WEBHOOK_URL: ${{ secrets.CUSTOM_WEBHOOK_URL }}

تصفية نطاق الإشعارات

قد ترغب في إرسال إشعارات إلى فرق مختلفة بشأن أجزاء مختلفة من خط الأنابيب. ويمكنك استخدام شروط if: لتصفية الإشعارات استنادًا إلى ما يلي:

  • الفرع: github.ref == 'refs/heads/main'
  • حالة المهمة: always() وsuccess() وfailure() وcancelled()
  • خطوات محددة: التحقق من نتيجة خطوة معينة.

يضمن ذلك وصول التنبيهات ذات الصلة فقط إلى الأشخاص المناسبين.

تأمين أسرار الإشعارات

تُعد عناوين URL الخاصة بخطافات الويب ورموز API لخدمات الإشعارات معلومات حساسة. ويجب ألا تُضمَّن مباشرةً في ملفات سير العمل.

احرص دائمًا على تخزينها في GitHub Secrets. إذ تكون هذه الأسرار مشفّرة ولا يُكشف عنها إلا للمنفّذ أثناء تنفيذ سير العمل، مما يحافظ على أمان بيانات اعتمادك.

تحقق سريع من التنبيهات

لنفترض وجود سير عمل مخصص لإنشاء التعليمات البرمجية واختبارها. نريد تلقي إشعار على Slack فقط إذا فشلت خطوة الإنشاء أو الاختبار.

ما شرط if: الذي ينبغي استخدامه في خطوة إشعار Slack لتحقيق ذلك؟

مراجعة: الإشعارات والتنبيهات

لقد تعلمت كيفية إعداد الإشعارات والتنبيهات التلقائية لخطوط أنابيب GitHub Actions. وفيما يلي أهم النقاط:

  • استخدم خدمات خارجية مثل Slack أو خطافات الويب لإرسال التنبيهات إلى الفريق بأكمله.
  • تُبسّط Marketplace Actions التكامل مع الخدمات الشائعة.
  • طبّق شروط if:، مثل failure()، لإرسال إشعارات موجهة.
  • احرص دائمًا على تأمين عناوين URL الحساسة لخطافات الويب والرموز باستخدام GitHub Secrets.

يضمن إعداد التنبيهات بفعالية بقاء فريقك سبّاقًا في الحفاظ على سلامة خط الأنابيب!

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

هل درس «إعداد الإشعارات والتنبيهات» مجاني؟

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

ماذا ستتعلم في «إعداد الإشعارات والتنبيهات»؟

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

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

لا تُشترط خبرة سابقة. CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 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