0Pricing
Ansible Academy · درس

تطبيق Roles وتمرير متغيرات Role

ضمّن Role وخصّص معلماته

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

طبّق دورًا باستخدام roles:

أبسط طريقة لاستخدام دور هي استخدام المفتاح roles في play. أدرج أسماء الأدوار، وسيشغّل Ansible كل دور بالترتيب.

- hosts: web
  roles:
    - nginx
    - firewall

تُشغَّل الأدوار قبل المهام

تُنفّذ الأدوار المدرجة ضمن roles قبل أي مهام في الـplay نفسه. ضع هذا الترتيب في اعتبارك عند المزج بين الأدوار والمهام.

مرّر المتغيّرات مباشرةً

لتخصيص دور، مرّر المتغيّرات في الموضع الذي تطبّقه فيه. يمررها Ansible إلى الدور، فتتجاوز قيمه الافتراضية.

roles:
  - role: nginx
    nginx_port: 8080

يوضّحها مفتاح role:

عند تمرير المتغيّرات، استخدم المفتاح role لتسمية الدور، ثم أضف المتغيّرات كمفاتيح شقيقة تحته.

- role: postgres
  db_name: shop
  db_user: admin

القيم الافتراضية هي الحل الاحتياطي

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

تجاوز الدور نفسه مرتين

يمكنك تطبيق دور واحد عدة مرات باستخدام متغيّرات مختلفة، مثل إعداد مثيلين لقاعدة بيانات من دور واحد.

تصل متغيّرات المجموعات إلى الأدوار أيضًا

تنتقل المتغيّرات الموجودة في group_vars وhost_vars تلقائيًا إلى الأدوار المطبقة على تلك المضيفات، من دون الحاجة إلى تمريرها مباشرةً.

تحافظ vars_files على نظافة ملفات play

انقل إعدادات الدور من play إلى ملف منفصل باستخدام vars_files، ليبقى الـplaybook قصيرًا وسهل القراءة.

vars_files:
  - web_settings.yml

يشغّل include_role الدور أثناء play

هل تحتاج إلى دور في منتصف مهامك؟ استخدم include_role كمهمة لتطبيقه ديناميكيًا في تلك النقطة بالضبط.

- name: Set up nginx
  ansible.builtin.include_role:
    name: nginx

وثّق المتغيّرات التي تقبلها

يسرد الدور الجيد المتغيّرات التي يتوقعها في ملف README الخاص به. تجعل المدخلات الواضحة الدور سهلًا وآمنًا لإعادة الاستخدام من قِبل أي شخص.

دور واحد وخوادم عديدة

طبّق الدور نفسه المزوّد بالمعاملات على العديد من المضيفات، واضبط كل واحد منها بمتغيّرات مختلفة. تلك إعادة استخدام من دون إعادة كتابة مهمة واحدة.

تحقق سريع

فكّر في كيفية تجاوز القيمة الافتراضية للدور عند تطبيقه.

خلاصة

طبّق الأدوار باستخدام المفتاح roles، ومرّر المتغيّرات مباشرةً لتجاوز القيم الافتراضية، وأعد استخدام دور واحد مزوّد بالمعاملات عبر العديد من المضيفات. 🚀

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

هل درس «تطبيق Roles وتمرير متغيرات Role» مجاني؟

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

ماذا ستتعلم في «تطبيق Roles وتمرير متغيرات Role»؟

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

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

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

كم من الوقت يستغرق درس «تطبيق Roles وتمرير متغيرات Role»؟

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

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

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

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

  1. لماذا Roles: من البنية الأحادية إلى الوحدات
  2. تشريح مجلد Role
  3. إنشاء هيكل Role باستخدام ansible-galaxy init
  4. تطبيق Roles وتمرير متغيرات Role
← العودة إلى Ansible Academy