Dejanja GitHub v Ansibleu

Dejanja Github V Ansibleu



Ansible je priljubljeno, brezplačno in odprtokodno orodje za avtomatizacijo, ki nam omogoča avtomatizacijo opravil DevOps, kot so upravljanje konfiguracije, uvajanje aplikacij itd.

Združevanje Ansible z GitHub Actions nam omogoča, da avtomatiziramo izvajanje Ansible playbooks vsakič, ko pride do določenega dogodka v repozitoriju, kot je potisni v glavno vejo.







Ta vadnica vas nauči, kako nastaviti GitHub Action za zagon Ansible playbooka, ki je uporaben za avtomatizacijo uvajanja kot odgovor na spremembe kode.



Predpogoji:

Preden nadaljujete, se prepričajte, da imate naslednje:



  • Račun GitHub
  • Obstoječe skladišče GitHub
  • Osnovno poznavanje igralnih knjig Ansible
  • Ciljni stroj, kjer lahko Ansible izvaja naloge. Prepričajte se, da se Ansible lahko poveže s temi napravami iz izvajalca GitHub.

1. korak: Nastavite okolje Ansible

Ustvarite in shranite Ansible playbook in vse povezane datoteke v repozitorij GitHub. To mora vključevati datoteke, kot so predloge vlog, spremenljivke itd.





Primer priročnika je naslednji:

---
- ime: zagotovite, da je Nginx nameščen na spletnih strežnikih
gostitelji: spletni strežnik
postati: da
naloge:
- ime: Posodobi apt predpomnilnik
primeren:
update_cache: da

- ime: Namestite Nginx
primeren:
ime: nginx
stanje: prisotno

Prepričajte se, da imate datoteko inventarja, ki določa ciljne stroje za Ansible.



2. korak: Nastavite skrivnosti v repozitoriju GitHub

Glede na to, da priročnik potrebuje občutljive podatke, kot so ključi SSH ali gesla, GitHub ponuja način za varno shranjevanje skrivnosti:

Pomaknite se do svojega repozitorija GitHub.

Pojdite v Nastavitve > Skrivnosti in spremenljivke -> Dejanja  -> Nova skrivnost skladišča.

3. korak: Ustvarite GitHub Action Workflow

V repozitoriju ustvarite imenik ».github/workflows«. Znotraj tega imenika ustvarite datoteko YAML za svoj potek dela.

Dodajte potek dela na naslednji način:

ime: Run Ansible Playbook
na:
potisni:
podružnice:
- mojster
službe:
razmesti:
teče naprej: ubuntu-najnovejši
koraki:
- ime: Koda blagajne
uporablja: actions/checkout@v2
- ime: Nastavitev ključa SSH
teči: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 zasebni_ključ.pem
- ime: Run Ansible Playbook
teči: |
posodobitev 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. korak: Sprožite potek dela

Kadarkoli pritisnete na glavno vejo, bo GitHub samodejno zagnal ta potek dela in tako izvedel playbook.

Zaključek

To je to za to. Opisali smo, kako zagnati Ansible Playbook z uporabo dejanj Github.