Accions de GitHub a Ansible

Accions De Github A Ansible



Ansible és una eina d'automatització popular, gratuïta i de codi obert que ens permet automatitzar les tasques de DevOps, com ara la gestió de la configuració, el desplegament d'aplicacions, etc.

La combinació d'Ansible amb GitHub Actions ens permet automatitzar l'execució de llibres de jugades d'Ansible sempre que es produeixi un esdeveniment específic en un dipòsit, com ara una empenta a la branca principal.







Aquest tutorial us ensenya com configurar una acció de GitHub per executar un llibre de jugades Ansible que és útil per automatitzar el desplegament en resposta als canvis de codi.



Requisits previs:

Abans de continuar, assegureu-vos que teniu el següent:



  • Un compte de GitHub
  • Un repositori GitHub existent
  • Coneixements bàsics dels llibres de jocs d'Ansible
  • Una màquina objectiu on Ansible pot executar les tasques. Assegureu-vos que Ansible es pugui connectar a aquestes màquines des d'un corredor de GitHub.

Pas 1: configureu l'entorn Ansible

Creeu i emmagatzemeu el llibre de jocs Ansible i tots els fitxers relacionats al repositori de GitHub. Això hauria d'incloure fitxers com ara les plantilles de rols, variables, etc.





Un exemple de llibre de jocs és el següent:

---
- nom: assegureu-vos que Nginx estigui instal·lat als servidors web
amfitrions: servidor web
esdevenir: sí
tasques:
- nom: actualitza la memòria cau d'apt
apte:
update_cache: sí

- nom: instal·leu Nginx
apte:
nom: nginx
estat: present

Assegureu-vos que teniu un fitxer d'inventari que especifiqueu les màquines de destinació per a Ansible.



Pas 2: configureu els secrets al repositori de GitHub

Atès que el llibre de jugades necessita informació sensible com claus SSH o contrasenyes, GitHub ofereix una manera d'emmagatzemar els secrets de manera segura:

Navegueu al vostre repositori de GitHub.

Aneu a Configuració > Secrets i variables -> Accions  -> Nou secret del repositori.

Pas 3: creeu el flux de treball d'acció de GitHub

Al repositori, creeu un directori '.github/workflows'. Dins d'aquest directori, creeu un fitxer YAML per al vostre flux de treball.

Afegiu el flux de treball de la següent manera:

nom: Run Ansible Playbook
a:
empenta:
branques:
- mestre
llocs de treball:
desplegar:
s'executa: ubuntu-última
passos:
- nom: codi de pagament
utilitza: actions/checkout@v2
- nom: Configuració de la clau SSH
córrer: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > clau_privada.pem
chmod 600 clau_privada.pem
- nom: Run Ansible Playbook
córrer: |
sudo apt update
sudo apt install -i ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Pas 4: activa el flux de treball

Sempre que premeu a la branca mestra, GitHub executarà automàticament aquest flux de treball i, per tant, executarà el llibre de jugades.

Conclusió

Això és tot per aquest. Hem tractat com executar un llibre de jugades Ansible mitjançant les accions de Github.