GitHub-handlinger i Ansible

Github Handlinger I Ansible



Ansible er et populært, gratis og open source-automatiseringsværktøj, der giver os mulighed for at automatisere DevOps-opgaverne såsom konfigurationsadministration, appimplementering osv.

Kombination af Ansible med GitHub Actions giver os mulighed for at automatisere udførelsen af ​​Ansible playbooks, når en specifik hændelse opstår i et lager, som et push til hovedgrenen.







Denne vejledning lærer dig, hvordan du konfigurerer en GitHub-handling til at køre en Ansible-afspilningsbog, som er nyttig til at automatisere implementeringen som svar på kodeændringer.



Forudsætninger:

Før du fortsætter, skal du sikre dig, at du har følgende:



  • En GitHub-konto
  • Et eksisterende GitHub-lager
  • Grundlæggende kendskab til Ansible playbooks
  • En målmaskine, hvor Ansible kan køre opgaverne. Sørg for, at Ansible kan oprette forbindelse til disse maskiner fra en GitHub-løber.

Trin 1: Konfigurer Ansible-miljøet

Opret og gem Ansible-spillebogen og alle relaterede filer i GitHub-lageret. Dette bør omfatte filer såsom rolleskabeloner, variabler osv.





Et eksempel på en spillebog er som følger:

---
- navn: Sørg for, at Nginx er installeret på webservere
værter: webserver
blive: ja
opgaver:
- navn: Opdater apt cache
passende:
update_cache: ja

- navn: Installer Nginx
passende:
navn: nginx
tilstand: tilstede

Sørg for, at du har en inventarfil, der angiver målmaskinerne for Ansible.



Trin 2: Konfigurer hemmelighederne i GitHub Repository

I betragtning af at spillebogen har brug for følsomme oplysninger som SSH-nøgler eller adgangskoder, giver GitHub en måde at opbevare hemmelighederne sikkert på:

Naviger til dit GitHub-lager.

Gå til Indstillinger > Hemmeligheder og variabler -> Handlinger  -> Ny lagerhemmelighed.

Trin 3: Opret GitHub Action Workflow

I lageret skal du oprette en '.github/workflows'-mappe. Inde i denne mappe skal du oprette en YAML-fil til din arbejdsgang.

Tilføj arbejdsgangen som følger:

navn: Kør Ansible Playbook
på:
skubbe:
grene:
- mester
job:
indsætte:
kører-på: ubuntu-nyeste
trin:
- navn: Kassekode
bruger: actions/checkout@v2
- navn: Opsætning af SSH-nøgle
køre: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- navn: Kør Ansible Playbook
køre: |
sudo apt opdatering
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Trin 4: Udløs arbejdsgangen

Hver gang du skubber til mastergrenen, vil GitHub automatisk køre denne arbejdsgang og udfører dermed playbooken.

Konklusion

Det er det for denne. Vi dækkede, hvordan man kører en Ansible-spillebog ved hjælp af Github-handlingerne.