مشغّلات سير العمل والأحداث
استكشفوا الأحداث المختلفة التي يمكن أن تشغّل سير عمل 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 دروس في المجموع.
ما الذي يبدأ مسار العمل؟
لا تعمل مسارات العمل في GitHub Actions من تلقاء نفسها. فهي تحتاج إلى إشارة للبدء! وتُسمى هذه الإشارة المشغّل.
المشغلات أحداث محددة تُخبر GitHub Actions: "مرحبًا، حدث أمر ما! حان وقت تشغيل مسار العمل هذا." ويُعد فهم المشغلات أمرًا أساسيًا لأتمتة عملية التطوير بفاعلية.
الكلمة المفتاحية 'on'
في ملف مسار العمل (وهو ملف .yml في المجلد .github/workflows)، تعرّفون المشغلات باستخدام الكلمة المفتاحية on.
يخبر هذا القسم GitHub Actions متى ينفّذ مسار العمل. ويمكنكم تحديد حدث واحد أو عدة أحداث.
name: My First Triggered Workflow
on:
push: # This workflow will run on every push event
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run a simple command
run: echo "Workflow triggered!"
الاستجابة لعمليات دفع الشيفرة
يُعد حدث push أحد أكثر المشغلات شيوعًا. ويعمل كلما دُفعت شيفرة إلى مستودعكم، سواء أكانت التزامًا جديدًا أم عملية دمج.
افتراضيًا، يعمل مشغّل push على جميع الفروع.
on: push
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- name: Say Hello
run: echo "Code was pushed!"
عمليات الدفع المستهدفة
يمكنكم تحسين مشغّل push ليعمل على فروع محددة فقط أو عند حدوث تغييرات في مسارات ملفات معينة. ويساعد ذلك على تحسين مسارات العمل.
branches: يعمل فقط عند الدفع إلى أسماء فروع محددة.paths: يعمل فقط عند إجراء تغييرات على ملفات داخل مجلدات محددة.
on:
push:
branches:
- main
- 'feature/*' # Glob pattern for feature branches
paths:
- 'src/**' # Only if changes in src/ directory
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Push to relevant branch/path detected!"
أتمتة عمليات التحقق من طلبات السحب
يُشغّل حدث pull_request عند فتح طلب سحب، أو مزامنته (دفع التزامات جديدة إلى فرع طلب السحب)، أو إعادة فتحه.
وهو مثالي لتشغيل عمليات تحقق مؤتمتة مثل الاختبارات، أو فحص الأسلوب، أو مراجعات الشيفرة قبل دمج التغييرات في قاعدة شيفرتكم الرئيسية.
on: pull_request
jobs:
pr_check:
runs-on: ubuntu-latest
steps:
- name: PR opened/updated
run: echo "A pull request was opened or updated!"
إجراءات محددة لطلبات السحب
يمكنكم تحسين مشغّل pull_request أكثر بتحديد types. ويتيح ذلك لمسار العمل الاستجابة لإجراءات محددة مرتبطة بطلب سحب.
opened: عند إنشاء طلب سحب جديد.synchronize: عند دفع التزامات جديدة إلى فرع طلب السحب.reopened: عند إعادة فتح طلب سحب مغلق.
on:
pull_request:
types: [opened, synchronize, reopened] # Run only on these PR actions
jobs:
pr_review:
runs-on: ubuntu-latest
steps:
- run: echo "PR action: ${{ github.event.action }}"
المشغلات المستندة إلى الوقت
يتيح لك حدث schedule تشغيل سير العمل في أوقات محددة باستخدام صيغة cron. وهذا مناسب جدًا للتقارير اليومية، ومهام التنظيف، أو عمليات التحقق الدورية.
تستخدم صيغة cron خمس علامات نجمية تمثل: minute hour day-of-month month day-of-week.
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
- cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri
jobs:
scheduled_task:
runs-on: ubuntu-latest
steps:
- run: echo "Scheduled workflow running!"
تشغيل سير العمل يدويًا
قد تحتاج أحيانًا إلى تشغيل سير عمل يدويًا، ربما لإجراء عملية نشر أو تنفيذ مهمة صيانة محددة. ويتيح لك حدث workflow_dispatch ذلك.
عند وجود هذا المشغل، يظهر زر "Run workflow" في واجهة GitHub الخاصة بسير العمل، مما يتيح لك تشغيله عند الطلب.
on: workflow_dispatch
jobs:
manual_task:
runs-on: ubuntu-latest
steps:
- run: echo "This workflow was triggered manually!"
ما بعد الأساسيات
رغم أن push وpull_request وschedule وworkflow_dispatch هي الأكثر شيوعًا، فإن GitHub Actions يوفر العديد من مشغلات الأحداث الأخرى.
workflow_call: لإنشاء سير عمل قابل لإعادة الاستخدام.repository_dispatch: لتشغيل سير العمل من أنظمة خارجية عبر استدعاء API.- والعديد غيرها لأحداث GitHub محددة، مثل
issuesوreleaseوfork.
تحدي المشغلات
تحتاج إلى إعداد سير عمل ينشئ تقريرًا أسبوعيًا تلقائيًا كل يوم جمعة الساعة 5 مساءً بتوقيت UTC، بغض النظر عن حدوث أي تغييرات في التعليمات البرمجية. ما حدث المشغل الأنسب لهذه المهمة؟
مراجعة المشغلات
أحسنتم في استكشاف مشغلات GitHub Actions! لقد تعلمتم كيف يبدأ سير العمل استجابةً لأحداث مختلفة:
push: للتغييرات التي يتم دفعها إلى مستودعكم.pull_request: للإجراءات المتعلقة بطلبات السحب.schedule: للمهام المتكررة المستندة إلى الوقت باستخدام cron.workflow_dispatch: للتنفيذ اليدوي من واجهة المستخدم أو API.
يُعد اختيار المشغل المناسب الخطوة الأولى لبناء مسارات CI/CD فعالة وكفؤة!
الأسئلة الشائعة
هل درس «مشغّلات سير العمل والأحداث» مجاني؟
نعم — نص درس «مشغّلات سير العمل والأحداث» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مشغّلات سير العمل والأحداث
- تشغيل الاختبارات باستخدام GitHub Actions
- فحص التعليمات البرمجية والتحقق من جودتها
- تخزين الاعتماديات مؤقتًا لتسريع عمليات البناء