Ações do GitHub em Ansible

Acoes Do Github Em Ansible



Ansible é uma ferramenta de automação popular, gratuita e de código aberto que nos permite automatizar tarefas de DevOps, como gerenciamento de configuração, implantação de aplicativos etc.

Combinar Ansible com GitHub Actions nos permite automatizar a execução de playbooks Ansible sempre que um evento específico ocorre em um repositório, como um push para o branch principal.







Este tutorial ensina como configurar uma ação GitHub para executar um playbook Ansible que é útil para automatizar a implantação em resposta a alterações de código.



Pré-requisitos:

Antes de prosseguir, certifique-se de ter o seguinte:



  • Uma conta GitHub
  • Um repositório GitHub existente
  • Conhecimento básico dos manuais do Ansible
  • Uma máquina de destino onde o Ansible pode executar as tarefas. Certifique-se de que o Ansible possa se conectar a essas máquinas por meio de um executor GitHub.

Etapa 1: configurar o ambiente Ansible

Crie e armazene o manual do Ansible e todos os arquivos relacionados no repositório GitHub. Isso deve incluir arquivos como modelos de funções, variáveis, etc.





Um exemplo de manual é o seguinte:

---
- nome: certifique-se de que o Nginx esteja instalado em servidores web
hosts: servidor web
tornar-se: sim
tarefas:
- nome: Atualizar cache do apt
adequado:
update_cache: sim

- nome: Instalar Nginx
adequado:
nome: nginx
estado: presente

Certifique-se de ter um arquivo de inventário especificando as máquinas de destino do Ansible.



Etapa 2: configure os segredos no repositório GitHub

Dado que o manual precisa de informações confidenciais, como chaves SSH ou senhas, o GitHub oferece uma maneira de armazenar os segredos com segurança:

Navegue até o seu repositório GitHub.

Vá para Configurações > Segredos e Variáveis ​​-> Ações  -> Novo segredo do repositório.

Etapa 3: crie o fluxo de trabalho de ação do GitHub

No repositório, crie um diretório “.github/workflows”. Dentro deste diretório, crie um arquivo YAML para seu fluxo de trabalho.

Adicione o fluxo de trabalho da seguinte maneira:

nome: Executar o Ansible Playbook
sobre:
empurrar:
galhos:
- mestre
empregos:
implantar:
executado: ubuntu-mais recente
passos:
- nome: Código de checkout
usa: ações/checkout@v2
- nome: Configurando chave SSH
executar: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 chave_privada.pem
- nome: Executar o Ansible Playbook
executar: |
atualização do sudo apt
sudo apt install -y ansible
ansible-playbook -i hosts.ini meu-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Etapa 4: acione o fluxo de trabalho

Sempre que você enviar para o branch master, o GitHub executará automaticamente esse fluxo de trabalho e, assim, executará o playbook.

Conclusão

É isso. Abordamos como executar um manual do Ansible usando as ações do Github.