0Pricing
Ansible Academy · درس

استخدام ansible_facts في المهام

أنشئ فروعًا بناءً على حقائق نظام التشغيل والذاكرة وعنوان IP

استخدام ansible_facts في المهام درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

من البيانات إلى القرارات

لا تكون الحقائق المجمعة مفيدة إلا إذا تصرفت بناءً عليها. والآن ستستخرج القيم من ansible_facts مباشرةً إلى مهامك. 🌟

الرجوع إلى حقيقة

استخدم الصياغة نفسها {{ }} كما تفعل مع أي متغير. سمِّ داخل القوسين الحقيقة التي تريدها، مثل distribution الخاص بالمضيف.

- debug:
    msg: "OS is {{ ansible_distribution }}"

الوصول عبر القاموس أيضًا

يمكنك أيضًا قراءة الحقائق من خلال قاموس ansible_facts باستخدام مفاتيح بين أقواس. وكلتا الطريقتين تشير إلى البيانات نفسها.

{{ ansible_facts['distribution'] }}

اتخاذ القرار بناءً على نظام التشغيل

ادمج حقيقة مع when لتشغيل مهمة على المضيفين المطابقين فقط، مثل تثبيت حزمة على أنظمة Debian وحدها.

when: ansible_os_family == "Debian"

اختر الحزمة المناسبة

تتيح الحقائق لمهمة واحدة خدمة توزيعات متعددة. اختر apache2 أو httpd بناءً على عائلة نظام التشغيل بدلًا من كتابة ملفي playbook.

name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"

استخدم الحقائق الرقمية

الحقائق مثل ansible_memtotal_mb أرقام، لذا يمكنك مقارنتها وتخطي العمل على المضيفين ذوي الموارد المحدودة جدًا.

when: ansible_memtotal_mb > 2048

الوصول إلى القيم المتداخلة

بالنسبة إلى الحقائق المتداخلة، صِل المفاتيح باستخدام النقاط. يوجد عنوان IPv4 الافتراضي تحت ansible_default_ipv4 ثم address.

{{ ansible_default_ipv4.address }}

الحقائق في القوالب

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

server_name {{ ansible_hostname }};

التكرار عبر قوائم الحقائق

بعض الحقائق قوائم، مثل ansible_interfaces. ويمكنك التكرار عليها لتنفيذ إجراء على كل واجهة شبكة لدى المضيف.

loop: "{{ ansible_interfaces }}"

تحقق قبل الوثوق

غير متأكد من القيمة الدقيقة لحقيقة ما؟ اطبعها باستخدام debug أولًا، ثم ابنِ المنطق الذي يعتمد عليها.

- debug:
    var: ansible_distribution_version

ملف playbook واحد، ومضيفون متعددون

لأن الحقائق خاصة بكل مضيف، تجعل المهام المعتمدة على الحقائق ملف playbook واحدًا يعمل بصورة صحيحة عبر مجموعة متنوعة من الأجهزة.

تحقق سريع

كيف تشغّل مهمة على مضيفي عائلة Debian فقط؟

مراجعة

قرأت الحقائق باستخدام {{ }}، واتخذت قرارات باستخدام when، ووصلت إلى القيم المتداخلة، وكررت على قوائم الحقائق لجعل المهام متكيفة. ✨

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

هل درس «استخدام ansible_facts في المهام» مجاني؟

نعم — نص درس «استخدام ansible_facts في المهام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.

ماذا ستتعلم في «استخدام ansible_facts في المهام»؟

أنشئ فروعًا بناءً على حقائق نظام التشغيل والذاكرة وعنوان IP تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟

لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «استخدام ansible_facts في المهام»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟

نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما هي Facts ولماذا تهم
  2. استكشاف Facts باستخدام وحدة setup
  3. استخدام ansible_facts في المهام
  4. تعطيل جمع Facts لتسريع التنفيذ
← العودة إلى Ansible Academy