Aplique roles e passe variáveis para roles
Inclua uma role e parametrize-a.
Aplique roles e passe variáveis para roles é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Aplique uma função com roles:
A maneira mais simples de usar uma função é por meio da chave roles em uma execução. Liste os nomes das funções, e o Ansible executará cada uma em ordem.
- hosts: web
roles:
- nginx
- firewallAs funções são executadas antes das tarefas
As funções listadas em roles são executadas antes de qualquer tarefa da mesma execução. Lembre-se dessa ordem ao combinar funções e tarefas.
Passe variáveis diretamente
Para personalizar uma função, passe as variáveis no próprio local em que você a aplica. O Ansible as fornece à função, substituindo os valores padrão.
roles:
- role: nginx
nginx_port: 8080A chave role: deixa isso explícito
Ao passar variáveis, use a chave role para indicar o nome da função e adicione as variáveis como chaves no mesmo nível abaixo dela.
- role: postgres
db_name: shop
db_user: adminOs valores padrão são a alternativa
Se você não passar nenhuma variável, a função usará o valor de defaults/main.yml. É por isso que toda função funciona imediatamente.
Substitua a mesma função duas vezes
Você pode aplicar uma função várias vezes com variáveis diferentes, por exemplo, configurando duas instâncias de banco de dados a partir de uma única função.
As variáveis de grupo também chegam às funções
As variáveis em group_vars e host_vars são encaminhadas automaticamente às funções aplicadas a esses hosts, sem necessidade de passá-las diretamente.
vars_files mantêm as execuções organizadas
Retire as configurações da função da execução e coloque-as em um arquivo separado com vars_files, para que seu playbook permaneça curto e legível.
vars_files:
- web_settings.ymlinclude_role é executado no meio da execução
Precisa de uma função no meio das suas tarefas? Use include_role como uma tarefa para aplicá-la dinamicamente exatamente naquele ponto.
- name: Set up nginx
ansible.builtin.include_role:
name: nginxDocumente as variáveis aceitas
Uma boa função lista no README as variáveis que espera receber. Entradas claras tornam a função fácil e segura de reutilizar por qualquer pessoa.
Uma função, muitos servidores
Aplique a mesma função parametrizada a muitos hosts, ajustando cada um com variáveis diferentes. Isso é reutilização sem reescrever uma única tarefa.
Verificação rápida
Pense em como substituir o valor padrão de uma função ao aplicá-la.
Recapitulação
Aplique funções com a chave roles, passe variáveis diretamente para substituir os valores padrão e reutilize uma única função parametrizada em muitos hosts. 🚀
Perguntas Frequentes
A aula “Aplique roles e passe variáveis para roles” é grátis?
Sim — o texto completo de “Aplique roles e passe variáveis para roles” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Aplique roles e passe variáveis para roles”?
Inclua uma role e parametrize-a. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Aplique roles e passe variáveis para roles”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que usar roles: do monólito aos módulos
- Anatomia do diretório de uma role
- Crie a estrutura de uma role com ansible-galaxy init
- Aplique roles e passe variáveis para roles