تثبيت Roles باستخدام requirements.yml
ثبّت إصدارات التبعيات وجلبها
تثبيت Roles باستخدام requirements.yml درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
توقّف عن التثبيت يدويًا
لا يمكن توسيع نطاق تشغيل أوامر التثبيت واحدًا تلو الآخر. يسرد ملف requirements.yml كل تبعية، لذلك يُثبَّت المشروع كاملًا في خطوة واحدة.
ملف بيان للتبعيات
فكّر في requirements.yml باعتباره بيان الحزم الخاص بك؛ فهو يعلن بالضبط الأدوار والمجموعات التي تحتاج إليها ملفات playbook لتعمل.
أدرج الأدوار تحت roles
يحتوي مفتاح roles داخل الملف على قائمة. ويسمّي كل إدخال دورًا واحدًا لجلبه من Galaxy باستخدام معرّف author.name.
roles:
- name: geerlingguy.nginxأدرج المجموعات أيضًا
يسرد مفتاح collections المنفصل المجموعات باستخدام اسمها بصيغة namespace.collection، بحيث يغطي ملف واحد كلا النوعين من المحتوى.
collections:
- name: community.generalثبّت إصدارًا محددًا
أضف دائمًا version حتى تكون عمليات التثبيت قابلة لإعادة الإنتاج. فمن دونه قد تجلب إصدارًا أحدث يسبب أعطالًا على جهاز أحد أعضاء الفريق.
roles:
- name: geerlingguy.nginx
version: "3.1.4"ثبّت كل شيء دفعة واحدة
وجّه ansible-galaxy إلى الملف باستخدام -r، وسيحل كل تبعية مدرجة ويثبتها بأمر واحد.
ansible-galaxy install -r requirements.ymlتحتاج المجموعات إلى تشغيل خاص بها
يتولى أمر التثبيت العادي معالجة الأدوار. أما المجموعات، فاستخدم معها الأمر الفرعي collection install مع العلامة -r نفسها.
ansible-galaxy collection install -r requirements.ymlاجلب من Git، وليس من Galaxy فقط
يمكن لإدخال الدور استخدام عنوان Git src بدلًا من اسم في Galaxy، مما يتيح لك تثبيت أدوار خاصة أو غير منشورة.
roles:
- src: https://github.com/acme/role-app.git
version: mainاختر مسار تثبيت
أضف -p لوضع الأدوار في مجلد محلي للمشروع مثل roles/ بدلًا من المسار العام، مع إبقاء كل مشروع مكتفيًا ذاتيًا.
ansible-galaxy install -r requirements.yml -p roles/فرض إعادة التحميل
تُحتفظ بالأدوار الموجودة افتراضيًا. مرّر --force لإعادة تنزيلها واستبدالها عند ترقية إصدار مثبت.
ansible-galaxy install -r requirements.yml --forceسجّل الملف، لا الأدوار
سجّل requirements.yml في Git، لكن تجاهل مجلدات الأدوار التي تم تنزيلها. يمكن لأي شخص إعادة بناء المجموعة نفسها تمامًا من ملف البيان.
اختبار سريع
استرجع كيفية تثبيت كل ما يعتمد عليه المشروع.
خلاصة
أدرج الأدوار والمجموعات في requirements.yml، وثبّت الإصدارات، ثم ثبّتها كلها باستخدام ansible-galaxy -r. ملف واحد، وإعدادات قابلة لإعادة الإنتاج. 📦
الأسئلة الشائعة
هل درس «تثبيت Roles باستخدام requirements.yml» مجاني؟
نعم — نص درس «تثبيت Roles باستخدام requirements.yml» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «تثبيت Roles باستخدام requirements.yml»؟
ثبّت إصدارات التبعيات وجلبها تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تثبيت Roles باستخدام requirements.yml»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Roles مقابل Collections في Galaxy
- تثبيت Roles باستخدام requirements.yml
- استخدام FQCN: namespace.collection.module
- نشر Role الخاص بك إلى Galaxy