إجراءات جيثب في Ansible

Ajra At Jythb Fy Ansible



Ansible هي أداة أتمتة شائعة ومجانية ومفتوحة المصدر تتيح لنا أتمتة مهام DevOps مثل إدارة التكوين ونشر التطبيق وما إلى ذلك.

يتيح لنا الجمع بين Ansible وGitHub Actions أتمتة تنفيذ قواعد Ansible كلما حدث حدث معين في المستودع، مثل الدفع إلى الفرع الرئيسي.







يعلمك هذا البرنامج التعليمي كيفية إعداد GitHub Action لتشغيل Ansible playbook وهو مفيد لأتمتة النشر استجابةً لتغييرات التعليمات البرمجية.



المتطلبات الأساسية:

قبل المتابعة، تأكد من أن لديك ما يلي:



  • حساب جيثب
  • مستودع GitHub موجود
  • المعرفة الأساسية بكتب اللعب Ansible
  • جهاز مستهدف حيث يستطيع Ansible تشغيل المهام. تأكد من أن Ansible يمكنه الاتصال بهذه الأجهزة من مشغل GitHub.

الخطوة 1: إعداد البيئة المسؤولة

قم بإنشاء وتخزين قواعد اللعبة Ansible وجميع الملفات ذات الصلة في مستودع GitHub. يجب أن يتضمن ذلك ملفات مثل قوالب الأدوار والمتغيرات وما إلى ذلك.





مثال على قواعد اللعبة هو كما يلي:

---
- الاسم: تأكد من تثبيت Nginx على خوادم الويب
المضيفين: خادم الويب
أصبح: نعم
مهام:
- الاسم: تحديث ذاكرة التخزين المؤقت المناسبة
ملائم:
update_cache: نعم

- الاسم: تثبيت Nginx
ملائم:
الاسم: nginx
الدولة: حاضر

تأكد من أن لديك ملف مخزون يحدد الأجهزة المستهدفة لـ Ansible.



الخطوة 2: إعداد الأسرار في مستودع جيثب

نظرًا لأن قواعد اللعبة تحتاج إلى معلومات حساسة مثل مفاتيح SSH أو كلمات المرور، يوفر GitHub طريقة لتخزين الأسرار بشكل آمن:

انتقل إلى مستودع جيثب الخاص بك.

انتقل إلى الإعدادات > الأسرار والمتغيرات -> الإجراءات -> سر المستودع الجديد.

الخطوة 3: إنشاء سير عمل GitHub

في المستودع، قم بإنشاء دليل '.github/workflows'. داخل هذا الدليل، قم بإنشاء ملف YAML لسير العمل الخاص بك.

أضف سير العمل كما يلي:

الاسم: تشغيل Ansible Playbook
على:
يدفع:
الفروع:
- يتقن
وظائف:
نشر:
يعمل على: أوبونتو الأحدث
خطوات:
- الاسم: رمز الخروج
الاستخدامات: الإجراءات/الخروج@v2
- الاسم: إعداد مفتاح SSH
تشغيل: |
صدى '${{ Secrets.SSH_PRIVATE_KEY }}' > public_key.pem
chmod 600 Private_key.pem
- الاسم: تشغيل Ansible Playbook
تشغيل: |
سودو التحديث المناسب
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ Secrets.REMOTE_USER }}

الخطوة 4: تشغيل سير العمل

كلما قمت بالدفع إلى الفرع الرئيسي، سيقوم GitHub تلقائيًا بتشغيل سير العمل هذا وبالتالي تنفيذ قواعد اللعبة.

خاتمة

هذا كل شيء لهذا. لقد تناولنا كيفية تشغيل قواعد اللعبة Ansible باستخدام إجراءات Github.