Az Ansible egy népszerű, ingyenes és nyílt forráskódú automatizálási eszköz, amellyel automatizálhatjuk a DevOps-feladatokat, például a konfigurációkezelést, az alkalmazástelepítést stb.
Az Ansible és a GitHub Actions kombinálása lehetővé teszi számunkra, hogy automatizáljuk az Ansible játékkönyvek végrehajtását, amikor egy adott esemény történik egy adattárban, mint például a fő ágra való leküldés.
Ez az oktatóanyag megtanítja Önnek, hogyan állítson be egy GitHub-műveletet egy Ansible játékkönyv futtatásához, amely hasznos a kódváltozásokra válaszul történő telepítés automatizálásához.
Előfeltételek:
Mielőtt folytatná, győződjön meg arról, hogy rendelkezik a következőkkel:
- GitHub fiók
- Egy meglévő GitHub-tárház
- Az Ansible játékkönyvek alapismeretei
- Egy célgép, ahol az Ansible futtathatja a feladatokat. Győződjön meg arról, hogy az Ansible csatlakozhat ezekhez a gépekhez egy GitHub-futóról.
1. lépés: Az Ansible Environment beállítása
Hozza létre és tárolja az Ansible játékkönyvet és az összes kapcsolódó fájlt a GitHub-tárházban. Ennek tartalmaznia kell olyan fájlokat, mint a szerepsablonok, változók stb.
Egy példa-játékkönyv a következő:
---- név: Győződjön meg arról, hogy az Nginx telepítve van a webszervereken
hosts: webszerver
válni: igen
feladatok:
- név: Frissítse az apt gyorsítótárat
alkalmas:
update_cache: igen
- név: Telepítse az Nginxet
alkalmas:
név: nginx
állapot: jelen
Győződjön meg arról, hogy rendelkezik egy leltárfájllal, amely megadja az Ansible célgépeit.
2. lépés: Állítsa be a titkokat a GitHub Repository-ban
Tekintettel arra, hogy a játékkönyvnek érzékeny információkra van szüksége, például SSH-kulcsokra vagy jelszavakra, a GitHub lehetőséget biztosít a titkok biztonságos tárolására:
Navigáljon a GitHub-tárházához.
Lépjen a Beállítások > Titkok és változók -> Műveletek -> Új adattár titkossága menüpontra.
3. lépés: Hozza létre a GitHub-műveleti munkafolyamatot
Az adattárban hozzon létre egy „.github/workflows” könyvtárat. Ebben a könyvtárban hozzon létre egy YAML-fájlt a munkafolyamathoz.
Adja hozzá a munkafolyamatot az alábbiak szerint:
név: Run Ansible Playbooktovább:
nyom:
ágak:
- mester
állások:
telepíteni:
futó: ubuntu-latest
lépések:
- név: Checkout kód
használja: action/checkout@v2
- név: SSH kulcs beállítása
futás: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- név: Run Ansible Playbook
futás: |
sudo apt frissítés
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}
4. lépés: Indítsa el a munkafolyamatot
Amikor a fő ágra lép, a GitHub automatikusan futtatja ezt a munkafolyamatot, és így végrehajtja a játékkönyvet.
Következtetés
Ennyi ennek az egynek. Megbeszéltük, hogyan futtathatunk Ansible játékkönyvet a Github-műveletekkel.