تأكيدات مخصّصة باستخدام وحدة fail
أوقف Play برسالة واضحة
تأكيدات مخصّصة باستخدام وحدة fail درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
التوقف برسالة واضحة
قد ترغب أحيانًا في إيقاف التنفيذ عمدًا مع توضيح السبب. تنفذ وحدة fail ذلك تمامًا. 🛑
وحدة fail
توقف ansible.builtin.fail المضيف الحالي برسالة مخصصة تكتبها، بدلًا من عرض خطأ غامض.
- name: Refuse unsupported OS
ansible.builtin.fail:
msg: "This playbook supports Ubuntu only"تقييد fail باستخدام when
يوقف fail غير المقيَّد التنفيذ دائمًا، لذا استخدمه مع when. يفشل التنفيذ فقط إذا تحقق شرط الحراسة.
- ansible.builtin.fail:
msg: "app_version is required"
when: app_version is not definedالفشل بسرعة وفي وقت مبكر
ضع فحوصات الحراسة في بداية التنفيذ. فاكتشاف الإدخال غير الصحيح مبكرًا أفضل من الفشل في منتصف عملية النشر.
وحدة assert
تُعد ansible.builtin.assert أنظف للتحقق: زوّدها بالشروط ضمن that، وهي تفشل إذا كان أي منها خاطئًا.
- ansible.builtin.assert:
that:
- app_port is defined
- app_port | int > 1024رسائل assert مخصصة
أضف fail_msg وsuccess_msg إلى assert للحصول على ناتج واضح وودود في كلتا الحالتين. ستحصل على ملاحظات واضحة في كل تشغيل.
- ansible.builtin.assert:
that: disk_free > 500
fail_msg: "Need at least 500MB free"
success_msg: "Disk space OK"يفحص assert عدة شروط دفعة واحدة
يستقبل assert قائمةً ضمن that. يجب أن يكون كل شرط صحيحًا؛ ويفشل أول شرط خاطئ في المهمة مع عرض رسالتك.
المقارنة بين fail وassert
استخدم fail لإيقاف متعمد واحد مع وضع المنطق في when؛ واستخدم assert للتحقق من مجموعة شروط بإيجاز.
إدراج القيم
يمكن أن تتضمن msg متغيرات لتوفير السياق. اعرض القيمة غير الصحيحة حتى يعرف المشغّل بالضبط ما الذي ينبغي إصلاحه.
- ansible.builtin.fail:
msg: "Port {{ app_port }} is out of range"التأكيدات بوصفها توثيقًا
تؤدي التأكيدات الجيدة دور التوثيق الحي أيضًا: فهي توضّح توقعات playbook وتفرضها في مكان واحد. 📝
الوضع الهادئ لـ assert
عيّن quiet إلى true مع assert لتخطي الناتج الخاص بكل شرط. وهذا مفيد عندما تهتم بالإخفاقات فقط، لا بالفحوصات الناجحة.
- ansible.builtin.assert:
that: app_port is defined
quiet: trueتحقق سريع
لنختر الأداة المناسبة.
مراجعة
توقف وحدة fail التنفيذ مع رسالة واضحة، بينما يتحقق assert من الشروط بطريقة منظمة. احمِ playbook استباقيًا. ✅
الأسئلة الشائعة
هل درس «تأكيدات مخصّصة باستخدام وحدة fail» مجاني؟
نعم — نص درس «تأكيدات مخصّصة باستخدام وحدة fail» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «تأكيدات مخصّصة باستخدام وحدة fail»؟
أوقف Play برسالة واضحة تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «تأكيدات مخصّصة باستخدام وحدة fail»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تجميع المهام باستخدام block
- Try / Catch باستخدام rescue وalways
- التحكّم في الفشل: failed_when وignore_errors
- تأكيدات مخصّصة باستخدام وحدة fail