0Pricing
DevOps Bootcamp · درس

defaults مقابل vars: ترتيب التجاوز

صمّم واجهات متغيرات Role واضحة

defaults مقابل vars: ترتيب التجاوز درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

مجلدا المتغيرات

يمكن للدور تعريف المتغيرات في موضعين: defaults/main.yml وvars/main.yml. ويبدوان متشابهين، لكن سلوكهما مختلف جدًا.

defaults ذات أولوية منخفضة

تأتي القيم في defaults/main.yml في أدنى مستويات الأولوية. وهي اقتراحات مرنة يمكن لأي شيء آخر تقريبًا تجاوزها.

# defaults/main.yml
http_port: 80
workers: 4

vars ذات أولوية عالية

تتمتع القيم في vars/main.yml بأولوية عالية. وهي قرارات ثابتة يصرّ عليها الدور، ومن الصعب تجاوزها.

# vars/main.yml
config_path: /etc/myapp

defaults هي واجهة API العامة

ضع كل ما قد يرغب المستخدم في ضبطه ضمن defaults. فهذا يوضح أن تغييره متاح بحرية. وهكذا تصمم دورًا سهل الاستخدام وقابلًا لإعادة الاستخدام.

vars ثوابت داخلية

احجز vars للقيم التي يحتاجها الدور ليعمل ولا ينبغي للمستخدم تعديلها، مثل مسار داخلي أو اسم حزمة ثابت.

تجاوز القيمة الافتراضية بسهولة

يمكن للمستخدم تجاوز القيمة الافتراضية من group_vars أو host_vars أو التنفيذ أو سطر الأوامر. وسيُطبَّق أبسط تجاوز فورًا.

roles:
  - role: web
    vars:
      http_port: 8080

يصعب تجاوز قيمة vars

تتغلب vars الخاصة بالدور على group_vars وhost_vars ومتغيرات التنفيذ. ولا تتفوق عليها إلا extra-vars في سطر الأوامر، لذا استخدم vars باعتدال.

تفوز Extra Vars دائمًا

تتجاوز المتغيرات الممررة باستخدام -e في سطر الأوامر كل مصدر آخر، بما في ذلك vars الخاصة بالدور. وهي التجاوز النهائي.

ansible-playbook site.yml -e http_port=9090

ترتيب الأولوية الذهني

تذكّر السُلّم: تأتي defaults في الأسفل، ثم متغيرات inventory وplay، ثم vars الخاصة بالدور قرب الأعلى، ثم extra-vars فوق الجميع.

نصيحة تصميمية

فضّل استخدام defaults لمعظم القيم. ولا تستخدم vars إلا عندما يجب أن تظل قيمة ما مقفلة فعلًا. فالأدوار المرنة تُرضي الفرق.

وثّق قيم defaults

أضف تعليقًا إلى كل قيمة في defaults/main.yml. وبما أن المستخدمين سيضبطون هذه القيم، تحول الملاحظات الواضحة دورك إلى أتمتة تشرح نفسها.

تحقق سريع

فكّر في الملف الذي يمكن للمستخدم تجاوز قيمه بسهولة أكبر.

مراجعة

استخدم defaults للقيم القابلة للضبط التي يتجاوزها المستخدمون، واستخدم vars للثوابت الداخلية المقفلة. وتتغلب extra-vars في CLI على كل شيء. 🎚️

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

هل درس «defaults مقابل vars: ترتيب التجاوز» مجاني؟

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

ماذا ستتعلم في «defaults مقابل vars: ترتيب التجاوز»؟

صمّم واجهات متغيرات Role واضحة تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «defaults مقابل vars: ترتيب التجاوز»؟

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

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

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

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

  1. تبعيات Role في meta/main.yml
  2. defaults مقابل vars: ترتيب التجاوز
  3. include_role وimport_role وقت التشغيل
  4. allow_duplicates وقابلية Role للتكرار الآمن
← العودة إلى DevOps Bootcamp