مصادر المتغيرات وأولويتها
خريطة أولى لمصادر المتغيرات
مصادر المتغيرات وأولويتها درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
مصادر كثيرة جدًا
يمكن تعيين المتغير نفسه في أماكن عديدة: inventory، ومتغيرات play، والملفات، وCLI، وغير ذلك. إذًا، أي قيمة لها الأولوية فعلًا؟ 🌟
الأولوية هي الحاسمة
يتبع Ansible ترتيبًا ثابتًا يُسمى أولوية المتغيرات. عندما يُعيَّن الاسم مرتين، يتجاوز المصدر ذو الأولوية الأعلى المصدرَ ذي الأولوية الأدنى.
القيم الافتراضية للأدوار هي الأدنى
تأتي القيم الموجودة في مجلد defaults الخاص بالدور في أسفل الترتيب تمامًا. وهي مصممة بحيث يسهل تجاوزها بأي شيء آخر تقريبًا.
# roles/web/defaults/main.yml
http_port: 80متغيرات inventory
تأتي المتغيرات المعينة في inventory، مثل الموجودة في group_vars أو host_vars، فوق القيم الافتراضية للأدوار ولكن تحت متغيرات مستوى play.
# group_vars/web.yml
http_port: 8080متغيرات play أعلى مرتبة
تتغلب المتغيرات الموجودة تحت المفتاح vars في play على قيم inventory. عرّف قيمة هنا، وستتغلب على أي قيمة في group_vars.
- hosts: web
vars:
http_port: 9090متغيرات task محدودة النطاق
يمكنك إرفاق vars بمهمة واحدة. تنطبق تلك القيمة هناك فقط، وتأتي في مرتبة أعلى من متغيرات play الأوسع نطاقًا.
- debug:
var: http_port
vars:
http_port: 1234القيم المسجّلة وset_fact
تأتي القيم التي تلتقطها باستخدام register أو تعيّنها أثناء التشغيل باستخدام set_fact في مرتبة عالية، أسفل المتغيرات الإضافية مباشرة.
- set_fact:
http_port: 7000المتغيرات الإضافية في القمة
تتغلب المتغيرات الإضافية الموجودة في سطر الأوامر على كل شيء آخر. وما تمرره باستخدام -e هو الكلمة الأخيرة في ذلك التشغيل.
ansible-playbook site.yml -e http_port=443يفوز التعريف الأخير ضمن المستوى نفسه
عندما يشترك مصدران في المستوى نفسه، يسري المصدر الذي حُمّل أخيرًا. الأولوية أولًا، وترتيب التحميل لحسم التعادل.
حافظ على البساطة
نادرًا ما تحتاج إلى حفظ المخطط بأكمله. ضع قيمًا منطقية في defaults، وتجاوزها عن قصد، وتجنب تعيين الاسم نفسه في كل مكان.
صحّح القيمة التي حصلت عليها
غير متأكد من القيمة الفائزة؟ اطبعها باستخدام debug لرؤية النتيجة المحسومة قبل الوثوق بها في الإنتاج.
- debug:
var: http_portتحقق سريع
أي مصدر للمتغيرات له أعلى أولوية؟
مراجعة
لقد رسمت سلم الأولوية: تأتي defaults في أدنى مرتبة، ثم متغيرات inventory وplay وtask، ثم set_fact، بينما تتصدرها المتغيرات الإضافية. ✨
تعلم YAML مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «مصادر المتغيرات وأولويتها» مجاني؟
نعم — نص درس «مصادر المتغيرات وأولويتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «مصادر المتغيرات وأولويتها»؟
خريطة أولى لمصادر المتغيرات تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مصادر المتغيرات وأولويتها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف vars واستخدامها في Play
- صياغة الاستبدال {{ }}
- المتغيرات الإضافية في سطر الأوامر
- مصادر المتغيرات وأولويتها