Ansible on suosittu, ilmainen ja avoimen lähdekoodin automaatiotyökalu, jonka avulla voimme automatisoida DevOps-tehtävät, kuten asetusten hallinnan, sovellusten käyttöönoton jne.
Ansiblen yhdistäminen GitHub Actions -toimintoihin antaa meille mahdollisuuden automatisoida Ansible-pelikirjojen suorittamisen aina, kun tietty tapahtuma tapahtuu arkistossa, kuten työntö päähaaralle.
Tämä opetusohjelma opettaa sinulle, kuinka voit määrittää GitHub Action -toiminnon suorittamaan Ansible-pelikirjaa, joka on hyödyllinen käyttöönoton automatisoinnissa vastauksena koodin muutoksiin.
Edellytykset:
Ennen kuin jatkat, varmista, että sinulla on seuraavat asiat:
- GitHub-tili
- Olemassa oleva GitHub-arkisto
- Ansible-pelikirjojen perustiedot
- Kohdekone, jossa Ansible voi suorittaa tehtäviä. Varmista, että Ansible voi muodostaa yhteyden näihin koneisiin GitHub-runnerista.
Vaihe 1: Asenna Ansible Environment
Luo ja tallenna Ansible-pelikirja ja kaikki siihen liittyvät tiedostot GitHub-arkistoon. Tämän pitäisi sisältää tiedostoja, kuten roolimalleja, muuttujia jne.
Esimerkki pelikirjasta on seuraava:
---- nimi: Varmista, että Nginx on asennettu verkkopalvelimille
isännät: verkkopalvelin
tulla: kyllä
tehtävät:
- nimi: Päivitä apt cache
sopiva:
update_cache: kyllä
- nimi: Asenna Nginx
sopiva:
nimi: nginx
tila: läsnä
Varmista, että sinulla on inventaariotiedosto, joka määrittää Ansiblen kohdekoneet.
Vaihe 2: Määritä salaisuudet GitHub-varastossa
Koska pelikirja tarvitsee arkaluontoisia tietoja, kuten SSH-avaimia tai salasanoja, GitHub tarjoaa tavan tallentaa salaisuudet turvallisesti:
Siirry GitHub-tietovarastoon.
Siirry kohtaan Asetukset > Salaisuudet ja muuttujat -> Toiminnot -> Uusi arkiston salaisuus.
Vaihe 3: Luo GitHub Action -työnkulku
Luo arkistoon '.github/workflows' -hakemisto. Luo tähän hakemistoon YAML-tiedosto työnkulkua varten.
Lisää työnkulku seuraavasti:
nimi: Run Ansible Playbookpäällä:
työntää:
oksat:
- mestari
työpaikat:
ottaa käyttöön:
käynnissä: ubuntu-latest
askeleet:
- nimi: Kassakoodi
käyttää: action/checkout@v2
- nimi: SSH-avaimen asetukset
juoksu: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- nimi: Run Ansible Playbook
juoksu: |
sudo apt päivitys
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}
Vaihe 4: Käynnistä työnkulku
Aina kun siirryt päähaaraan, GitHub suorittaa tämän työnkulun automaattisesti ja suorittaa siten pelikirjan.
Johtopäätös
Siinä se tälle. Kävimme läpi Ansible-pelikirjan suorittamisen Github-toimintojen avulla.