פעולות GitHub ב-Ansible

P Wlwt Github B Ansible



Ansible הוא כלי אוטומציה פופולרי, חינמי וקוד פתוח המאפשר לנו להפוך את משימות ה-DevOps לאוטומטיות כמו ניהול הגדרות, פריסת אפליקציות וכו'.

שילוב של Ansible עם GitHub Actions מאפשר לנו להפוך את הביצוע של ספרי משחק של Ansible לאוטומטיים בכל פעם שמתרחש אירוע ספציפי במאגר, כמו דחיפה לסניף הראשי.







מדריך זה מלמד אותך כיצד להגדיר פעולת GitHub להפעלת ספר הפעלה של Ansible שהוא שימושי לאוטומציה של הפריסה בתגובה לשינויי קוד.



דרישות קדם:

לפני שתמשיך, ודא שיש לך את הדברים הבאים:



  • חשבון GitHub
  • מאגר GitHub קיים
  • ידע בסיסי בספרי משחקי Ansible
  • מכונת מטרה שבה Ansible יכולה להריץ את המשימות. ודא ש-Ansible יכולה להתחבר למכונות האלה מרץ GitHub.

שלב 1: הגדר את סביבת Ansible

צור ואחסן את ספר המשחקים של Ansible ואת כל הקבצים הקשורים במאגר GitHub. זה צריך לכלול קבצים כגון תבניות התפקידים, המשתנים וכו'.





ספר משחק לדוגמה הוא כדלקמן:

---
- שם: ודא ש-Nginx מותקן על שרתי אינטרנט
מארחים: שרת אינטרנט
להיות: כן
משימות:
- שם: עדכן מטמון apt
מַתְאִים:
update_cache: כן

- שם: התקן את Nginx
מַתְאִים:
שם: nginx
מצב: הווה

ודא שיש לך קובץ מלאי המציין את מכונות היעד עבור Ansible.



שלב 2: הגדר את הסודות במאגר GitHub

בהתחשב בכך שספר המשחקים זקוק למידע רגיש כמו מפתחות SSH או סיסמאות, GitHub מספק דרך לאחסן את הסודות בצורה מאובטחת:

נווט אל מאגר GitHub שלך.

עבור אל הגדרות > סודות ומשתנים -> פעולות  -> סוד מאגר חדש.

שלב 3: צור את זרימת העבודה של GitHub Action

במאגר, צור ספריית '.github/workflows'. בתוך ספרייה זו, צור קובץ YAML עבור זרימת העבודה שלך.

הוסף את זרימת העבודה באופן הבא:

שם: הפעל את Ansible Playbook
עַל:
לִדחוֹף:
ענפים:
- מאסטר
מקומות תעסוקה:
לפרוס:
פועל: ubuntu-latest
שלבים:
- שם: קוד קופה
משתמש: actions/checkout@v2
- שם: הגדרת מפתח SSH
לרוץ: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- שם: הפעל את Ansible Playbook
לרוץ: |
sudo apt update
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.