Ενέργειες GitHub στο Ansible

Energeies Github Sto Ansible



Το Ansible είναι ένα δημοφιλές, δωρεάν και ανοιχτού κώδικα εργαλείο αυτοματισμού που μας επιτρέπει να αυτοματοποιούμε τις εργασίες DevOps, όπως η διαχείριση ρυθμίσεων, η ανάπτυξη εφαρμογών κ.λπ.

Ο συνδυασμός του Ansible με τις Ενέργειες GitHub μας επιτρέπει να αυτοματοποιούμε την εκτέλεση των βιβλίων παιχνιδιού Ansible κάθε φορά που συμβαίνει ένα συγκεκριμένο συμβάν σε ένα αποθετήριο, όπως μια ώθηση στον κύριο κλάδο.







Αυτό το σεμινάριο σάς διδάσκει πώς να ρυθμίσετε μια ενέργεια GitHub για την εκτέλεση ενός βιβλίου αναπαραγωγής Ansible που είναι χρήσιμο για την αυτοματοποίηση της ανάπτυξης ως απόκριση σε αλλαγές κώδικα.



Προαπαιτούμενα:

Πριν προχωρήσετε, βεβαιωθείτε ότι έχετε τα εξής:



  • Ένας λογαριασμός GitHub
  • Ένα υπάρχον αποθετήριο GitHub
  • Βασικές γνώσεις βιβλίων Ansible
  • Μια μηχανή-στόχος όπου η Ansible μπορεί να εκτελέσει τις εργασίες. Βεβαιωθείτε ότι το Ansible μπορεί να συνδεθεί σε αυτά τα μηχανήματα από έναν δρομέα GitHub.

Βήμα 1: Ρυθμίστε το Ansible Environment

Δημιουργήστε και αποθηκεύστε το βιβλίο αναπαραγωγής Ansible και όλα τα σχετικά αρχεία στο αποθετήριο GitHub. Αυτό θα πρέπει να περιλαμβάνει αρχεία όπως τα πρότυπα ρόλων, μεταβλητές κ.λπ.





Ένα παράδειγμα βιβλίου παιχνιδιού είναι το εξής:

---
- όνομα: Βεβαιωθείτε ότι το Nginx είναι εγκατεστημένο σε διακομιστές ιστού
οικοδεσπότες: διακομιστής ιστού
γίνετε: ναι
καθήκοντα:
- όνομα: Ενημέρωση προσωρινής μνήμης apt
κατάλληλος:
update_cache: ναι

- όνομα: Εγκαταστήστε το Nginx
κατάλληλος:
όνομα: nginx
κατάσταση: παρών

Βεβαιωθείτε ότι έχετε ένα αρχείο αποθέματος που καθορίζει τα μηχανήματα-στόχους για το Ansible.



Βήμα 2: Ρυθμίστε τα μυστικά στο αποθετήριο GitHub

Δεδομένου ότι το βιβλίο αναπαραγωγής χρειάζεται ευαίσθητες πληροφορίες, όπως κλειδιά SSH ή κωδικούς πρόσβασης, το GitHub παρέχει έναν τρόπο για την ασφαλή αποθήκευση των μυστικών:

Πλοηγηθείτε στο αποθετήριο GitHub.

Μεταβείτε στις Ρυθμίσεις > Μυστικά και μεταβλητές -> Ενέργειες  -> Νέο μυστικό αποθετηρίου.

Βήμα 3: Δημιουργήστε τη ροή εργασίας GitHub Action

Στο αποθετήριο, δημιουργήστε έναν κατάλογο '.github/workflows'. Μέσα σε αυτόν τον κατάλογο, δημιουργήστε ένα αρχείο YAML για τη ροή εργασίας σας.

Προσθέστε τη ροή εργασίας ως εξής:

όνομα: Εκτέλεση Ansible Playbook
επί:
Σπρώξτε:
κλαδια δεντρου:
- κύριος
θέσεις εργασίας:
αναπτύσσω:
runs-on: ubuntu-latest
βήματα:
- όνομα: Κωδικός ταμείου
χρήσεις: actions/checkout@v2
- όνομα: Ρύθμιση κλειδιού SSH
τρέξιμο: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- όνομα: Εκτέλεση Ansible Playbook
τρέξιμο: |
sudo apt ενημέρωση
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.