Ansible je popularan, besplatan alat za automatizaciju otvorenog koda koji nam omogućuje automatizaciju DevOps zadataka kao što su upravljanje konfiguracijom, implementacija aplikacija, itd.
Kombinacija Ansiblea s GitHub radnjama omogućuje nam da automatiziramo izvršavanje Ansible playbooka kad god se dogodi određeni događaj u repozitoriju, poput push-a na glavnu granu.
Ovaj vas vodič uči kako postaviti GitHub radnju za pokretanje Ansible playbooka koji je koristan za automatizaciju implementacije kao odgovor na promjene koda.
Preduvjeti:
Prije nastavka provjerite imate li sljedeće:
- GitHub račun
- Postojeće GitHub spremište
- Osnovno poznavanje Ansible playbooks
- Ciljni stroj na kojem Ansible može pokretati zadatke. Osigurajte da se Ansible može povezati s tim strojevima iz GitHub pokretača.
Korak 1: Postavite Ansible okruženje
Izradite i pohranite Ansible playbook i sve povezane datoteke u GitHub repozitorij. To bi trebalo uključivati datoteke kao što su predlošci uloga, varijable itd.
Primjer knjige za igru je sljedeći:
---- name: Provjerite je li Nginx instaliran na web poslužiteljima
domaćini: web poslužitelj
postati: da
zadaci:
- naziv: Ažuriranje apt predmemorije
prikladan:
update_cache: da
- naziv: Instalirajte Nginx
prikladan:
naziv: nginx
stanje: sadašnje
Provjerite imate li datoteku inventara koja navodi ciljne strojeve za Ansible.
Korak 2: Postavite tajne u GitHub repozitorij
S obzirom na to da priručnik treba osjetljive informacije poput SSH ključeva ili lozinki, GitHub pruža način za sigurno pohranjivanje tajni:
Dođite do svog GitHub repozitorija.
Idite na Postavke > Tajne i varijable -> Radnje -> Nova tajna spremišta.
Korak 3: Stvorite GitHub radni tijek
U repozitoriju stvorite direktorij “.github/workflows”. Unutar ovog direktorija stvorite YAML datoteku za svoj tijek rada.
Dodajte tijek rada na sljedeći način:
naziv: Pokreni Ansible Playbookna:
gurnuti:
grane:
- ovladati; majstorski
poslovi:
rasporediti:
runs-on: ubuntu-najnovije
koraci:
- naziv: Checkout kod
koristi: akcije/odjava@v2
- naziv: Postavljanje SSH ključa
pokrenuti: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 privatni_ključ.pem
- naziv: Run Ansible Playbook
pokrenuti: |
ažuriranje sudo apt
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}
Korak 4: Pokrenite tijek rada
Kad god gurnete u glavnu granu, GitHub će automatski pokrenuti ovaj radni tijek i tako izvršiti playbook.
Zaključak
To je to za ovaj. Objasnili smo kako pokrenuti Ansible playbook koristeći Github akcije.