Os papéis (roles) do Ansible oferecem uma forma padronizada de modularizar tarefas, manipuladores, variáveis e modelos para reutilização consistente.
🔗 Related: Folha de dicas básica do Ansible · Guia de início rápido do Ansible · Exemplos de Ansible Playbooks
Estrutura padrão de diretórios de papéis
Gere o esqueleto de um papel com ansible-galaxy init role_name:
roles/
common/
tasks/
main.yml # Ponto de entrada principal para tarefas executadas pelo papel
handlers/
main.yml # Manipuladores acionados via notify
templates/ # Modelos Jinja2 (.j2) usados pelo módulo template
files/ # Arquivos estáticos e scripts transferidos pelo módulo copy
vars/
main.yml # Variáveis de alta precedência específicas deste papel
defaults/
main.yml # Variáveis padrão de baixa precedencia (substituíveis)
meta/
main.yml # Dependências de papéis e metadados de autoria
Uso de papéis em Playbooks
---
- name: Apply common and webserver roles
hosts: webservers
become: true
roles:
- role: common
- role: nginx
vars:
nginx_port: 8080
Precedência de variáveis em papéis
Variáveis em defaults/main.yml têm a menor precedência no Ansible, servindo como padrões seguros facilmente substituíveis.
Variáveis em vars/main.yml possuem alta precedência e são reservadas para lógica interna constante do papel.