تشغيل مهمة فقط عندما تكون القيمة True
قيّد تشغيل المهام بشرط منطقي
تشغيل مهمة فقط عندما تكون القيمة True درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
مهام تتخذ قرارات
ينبغي أحيانًا تشغيل المهمة في حالات معينة فقط. تتحكم الكلمة المفتاحية when في تشغيل المهمة بناءً على شرط تختاره. 🚦
الكلمة المفتاحية when
أضف when إلى أي مهمة. إذا كان التعبير صحيحًا، تُشغّل المهمة؛ وإذا كان خاطئًا، يتخطاها Ansible ويتابع التنفيذ.
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredلا حاجة إلى الأقواس المعقوفة
داخل when تكتب التعبير مباشرةً. وبخلاف السلاسل النصية، لا تكتب الأقواس المزدوجة لأن when يعمل أصلًا ضمن سياق Jinja2.
when: ansible_distribution == "Ubuntu"المتغيرات ذات القيمة الصحيحة
يمكن استخدام متغير منطقي بسيط مباشرةً. إذا كانت قيمة install_extras هي true، تُشغّل المهمة، وإلا فيتم تخطيها بهدوء.
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasالمقارنات
يمكن للشروط مقارنة القيم. تتيح عوامل مثل == و!= و< و> التحكم في تشغيل المهام اعتمادًا على الأرقام والسلاسل النصية. ⚖️
when: app_version == "2.0"التخطي مقابل الفشل
المهمة التي تم تخطيها ليست فاشلة. سترى في خرج التشغيل skipping بدلًا من ok أو changed، ويستمر التنفيذ.
نفي شرط
استخدم not لعكس نتيجة الاختبار. تُشغّل هذه المهمة فقط عندما لا تكون الخدمة مثبتة بالفعل.
when: not service_installedمُعرَّف أم لا
يمكنك اختبار ما إذا كان المتغير موجودًا. يحمي اختبار is defined من أخطاء المتغيرات غير المعرّفة.
when: custom_port is definedيُقيّم when لكل مضيف
يُقيّم كل مضيف بشكل مستقل. قد يكون الشرط صحيحًا على خادم وخاطئًا على خادم آخر ضمن play نفسه.
أبقِ الشروط بسيطة
الشروط الواضحة أكثر موثوقية. إذا أصبح when طويلًا، فقسّم المنطق أو استخدم متغيرًا يعبّر عن الغرض.
تصريحي، لا إجرائي
يحافظ when على الطابع التصريحي لملفات التشغيل: تصف الحالة، ويقرر Ansible لكل مضيف. لا حاجة إلى كتل if أو نصوص برمجية متفرعة. 🎯
تحقّق سريع
لنتأكد من كيفية عمل when.
مراجعة
تشغّل الكلمة المفتاحية when المهمة فقط إذا كان التعبير صحيحًا. وتعني القيمة الخاطئة التخطي لا الفشل، مع التقييم لكل مضيف. ✅
تعلم YAML مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «تشغيل مهمة فقط عندما تكون القيمة True» مجاني؟
نعم — نص درس «تشغيل مهمة فقط عندما تكون القيمة True» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «تشغيل مهمة فقط عندما تكون القيمة True»؟
قيّد تشغيل المهام بشرط منطقي تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «تشغيل مهمة فقط عندما تكون القيمة True»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشغيل مهمة فقط عندما تكون القيمة True
- التفرّع حسب حقائق عائلة نظام التشغيل
- دمج الشروط باستخدام and / or
- تسجيل نتيجة ثم اتخاذ القرار