0Pricing
Ansible Academy · درس

تعريف vars واستخدامها في Play

صرّح بالقيم وأشر إليها

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

لماذا توجد المتغيرات؟

إن كتابة قيم ثابتة مثل منفذ أو اسم حزمة في كل مكان تجعل التغيير مؤلمًا. ويسمّي المتغير قيمةً مرة واحدة لكي تتمكنوا من إعادة استخدامها. 🌟

قسم vars

تضيفون داخل play مفتاح vars الذي يحتوي على خريطة تربط الأسماء بالقيم. ويصبح كل ما تحته متاحًا لمهام ذلك play.

- hosts: web
  vars:
    http_port: 80
    app_name: shop
  tasks: []

تسمية متغيراتكم

استخدموا الأحرف الصغيرة والأرقام والشرطات السفلية في أسماء المتغيرات. فالاسم الواضح مثل http_port أفضل دائمًا من اسم غامض مثل p1.

يمكن للمتغيرات احتواء أي نوع

يمكن أن تكون القيمة سلسلة نصية أو رقمًا أو قيمة منطقية أو قائمة أو قاموسًا. ويحدّد YAML النوع من طريقة كتابتكم للقيمة.

vars:
  max_clients: 200
  debug: true
  packages:
    - nginx
    - git

الإشارة إلى متغير

لاستخدام قيمة، ضعوا اسمها بين قوسين معقوفين مزدوجين. وتخبر كتابة {{ http_port }} Ansible باستبدالها بالقيمة المخزّنة.

tasks:
  - debug:
      msg: "Port is {{ http_port }}"

المتغيرات داخل وسائط module

يمكنكم وضع متغير داخل أي وسيط لـ module، وليس داخل الرسائل فقط. وهنا تُملأ الوسيطة name من متغير.

tasks:
  - apt:
      name: "{{ app_name }}"
      state: present

الوحدة debug

تطبع وحدة debug قيمةً أثناء التشغيل. وهي مفيدة للتحقق مما يحتويه المتغير فعليًا.

- debug:
    var: http_port

‏var مقابل msg في debug

استخدموا var لطباعة القيمة الخام لمتغير، أو msg لطباعة جملة تتضمن أقواسًا. فهما أسلوبان مختلفان.

- debug:
    msg: "Serving {{ app_name }} on {{ http_port }}"

‏vars_files للقوائم الطويلة

عندما يكون لديكم عدد كبير من القيم، انقلوها إلى ملف منفصل وأشيروا إليه باستخدام vars_files. فهذا يحافظ على نظافة play.

- hosts: web
  vars_files:
    - vars/main.yml
  tasks: []

‏vars_prompt لإدخال القيم

هل تحتاجون إلى قيمة وقت التشغيل؟ يطرح vars_prompt سؤالًا على المشغّل ويخزّن إجابته كمتغير.

vars_prompt:
  - name: username
    prompt: "Enter a username"

النطاق: vars على مستوى play

تنطبق المتغيرات المعرّفة في vars الخاص بـ play على كل مهمة فيه، لكنها لا تنطبق على الـplays الأخرى في الملف نفسه.

فحص سريع

كيف تشيرون إلى قيمة متغير داخل مهمة؟

مراجعة

لقد تعلمتم تعريف القيم تحت vars، وتسميتها بوضوح، واستعادتها باستخدام القوسين المعقوفين المزدوجين. وتجعل المتغيرات الـplays قابلة لإعادة الاستخدام. ✨

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

هل درس «تعريف vars واستخدامها في Play» مجاني؟

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

ماذا ستتعلم في «تعريف vars واستخدامها في Play»؟

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

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

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

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

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

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

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

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

  1. تعريف vars واستخدامها في Play
  2. صياغة الاستبدال ‎{{ }}‎
  3. المتغيرات الإضافية في سطر الأوامر
  4. مصادر المتغيرات وأولويتها
← العودة إلى Ansible Academy