0Pricing
Ansible Academy · درس

تبعيات Role في meta/main.yml

اربط Roles التي تتطلب Roles أخرى

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

أدوار تعتمد على أدوار أخرى

لا تعمل بعض الأدوار إلا إذا شُغّل دور آخر قبلها. فقد يحتاج دور تطبيقك إلى دور أساسي لتقوية الخادم قبل نشر التطبيق.

تعرّف على meta/main.yml

يمكن أن يحتوي كل دور على الملف meta/main.yml. ويخزّن هذا الملف بيانات الدور الوصفية، مثل المؤلف والمنصات المدعومة وتبعياته.

مفتاح dependencies

يسرد مفتاح dependencies داخل meta/main.yml الأدوار التي يجب تشغيلها قبل هذا الدور. ويطبّقها Ansible أولًا تلقائيًا.

dependencies:
  - role: common
  - role: firewall

تُشغَّل التبعيات أولًا

عند تطبيق دور، يشغّل Ansible تبعياته المدرجة قبله وبالترتيب الذي تظهر به، ثم يشغّل مهام الدور نفسه.

تمرير متغيرات إلى تبعية

يمكنك تمرير متغيرات إلى تبعية مباشرةً ضمن القائمة. وهكذا يُشغَّل الدور الأساسي بالإعدادات التي يحتاجها هذا الدور تحديدًا.

dependencies:
  - role: nginx
    vars:
      http_port: 8080

سلسلة تبعيات حقيقية

يعتمد دور webapp على nginx، الذي يعتمد بدوره على common. طبّق webapp، وسيتولى Ansible حل السلسلة بأكملها من الأعلى إلى الأسفل.

التبعيات المشروطة

يمكن أن تحمل التبعية شرط when، فلا تُشغَّل إلا على المضيفين المطابقين له. فعلى سبيل المثال، يمكنك تخطي دور جدار الحماية على خوادم التطوير.

dependencies:
  - role: firewall
    when: env == 'prod'

التبعيات ثابتة

تُحل التبعيات في meta قبل بدء التنفيذ. ولا يمكنها استخدام الحقائق التي تُجمع أثناء التشغيل لاحقًا، لذا اجعل شروطها بسيطة.

يقرأ Galaxy ملف meta أيضًا

عند تثبيت دور من Ansible Galaxy، يقرأ meta/main.yml ويسحب كل تبعية مدرجة فيه تلقائيًا.

اجعل التبعيات صريحة

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

توجد معلومات Galaxy هنا أيضًا

إضافةً إلى التبعيات، يحتوي meta/main.yml على galaxy_info، مثل الترخيص والحد الأدنى لإصدار Ansible والمنصات. وهو يوضح كيفية استخدام الدور.

تحقق سريع

تذكّر أين تعلن أن دورًا يجب تشغيله قبل دور آخر.

مراجعة

أدرج الأدوار المطلوبة ضمن dependencies في meta/main.yml، وسيشغّل Ansible سلسلة التبعيات أولًا، مع إمكانية استخدام المتغيرات والشروط. 🔗

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

هل درس «تبعيات Role في meta/main.yml» مجاني؟

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

ماذا ستتعلم في «تبعيات Role في meta/main.yml»؟

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

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

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

كم من الوقت يستغرق درس «تبعيات Role في meta/main.yml»؟

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

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

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

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

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