Ansible je populárny, bezplatný a open source automatizačný nástroj, ktorý nám umožňuje automatizovať úlohy DevOps, ako je správa konfigurácie, nasadenie aplikácií atď.
Kombinácia Ansible s akciami GitHub nám umožňuje automatizovať spustenie príručiek Ansible vždy, keď sa v úložisku vyskytne konkrétna udalosť, ako napríklad presun do hlavnej vetvy.
Tento tutoriál vás naučí, ako nastaviť akciu GitHub na spustenie príručky Ansible, ktorá je užitočná na automatizáciu nasadenia v reakcii na zmeny kódu.
Predpoklady:
Pred pokračovaním sa uistite, že máte nasledujúce:
- Účet GitHub
- Existujúce úložisko GitHub
- Základná znalosť zošitov Ansible
- Cieľový počítač, na ktorom môže Ansible spúšťať úlohy. Zaistite, aby sa Ansible mohol pripojiť k týmto počítačom z GitHub runner.
Krok 1: Nastavte prostredie Ansible
Vytvorte a uložte Ansible playbook a všetky súvisiace súbory v úložisku GitHub. To by malo zahŕňať súbory, ako sú šablóny rolí, premenné atď.
Príklad zošita je nasledujúci:
---- name: Uistite sa, že Nginx je nainštalovaný na webových serveroch
hostitelia: webový server
stať sa: áno
úlohy:
- name: Aktualizácia vyrovnávacej pamäte apt
výstižné:
update_cache: áno
- názov: Nainštalujte Nginx
výstižné:
meno: nginx
stav: prítomný
Uistite sa, že máte súbor inventára špecifikujúci cieľové počítače pre Ansible.
Krok 2: Nastavte tajomstvá v úložisku GitHub
Vzhľadom na to, že príručka potrebuje citlivé informácie, ako sú kľúče SSH alebo heslá, GitHub poskytuje spôsob, ako bezpečne uložiť tajomstvá:
Prejdite do svojho úložiska GitHub.
Prejdite do Nastavenia > Tajomstvá a premenné -> Akcie -> Nový tajný kľúč úložiska.
Krok 3: Vytvorte pracovný postup akcie GitHub
V úložisku vytvorte adresár „.github/workflows“. V tomto adresári vytvorte súbor YAML pre svoj pracovný postup.
Pridajte pracovný postup takto:
názov: Run Ansible Playbookna:
TAM:
pobočky:
- majster
pracovné miesta:
nasadiť:
run-on: ubuntu-najnovšie
kroky:
- meno: Kód pokladne
používa: actions/checkout@v2
- name: Nastavenie kľúča SSH
beh: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- názov: Run Ansible Playbook
beh: |
aktualizácia sudo apt
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}
Krok 4: Spustite pracovný postup
Kedykoľvek zatlačíte do hlavnej vetvy, GitHub automaticky spustí tento pracovný postup a tak spustí playbook.
Záver
To je všetko pre tento. Zaoberali sme sa tým, ako spustiť príručku Ansible pomocou akcií Github.