مصادر المتغيرات وأولويتها
خريطة أولى لمصادر المتغيرات
مصادر المتغيرات وأولويتها درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 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، بينما تتصدرها المتغيرات الإضافية. ✨
الأسئلة الشائعة
هل درس «مصادر المتغيرات وأولويتها» مجاني؟
نعم — نص درس «مصادر المتغيرات وأولويتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «مصادر المتغيرات وأولويتها»؟
خريطة أولى لمصادر المتغيرات تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مصادر المتغيرات وأولويتها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف vars واستخدامها في Play
- صياغة الاستبدال {{ }}
- المتغيرات الإضافية في سطر الأوامر
- مصادر المتغيرات وأولويتها