Ansible Academy · Aula

De onde vêm as variáveis e qual é a precedência

Conheça um primeiro mapa das fontes de variáveis.

Aula 4 de 413 etapas

De onde vêm as variáveis e qual é a precedência é uma aula grátis de Ansible Academy 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 Ansible Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ansible Academy inclui 4 aulas no total.

Tantas fontes

A mesma variável pode ser definida em vários lugares: inventário, variáveis do play, arquivos, a CLI e muito mais. Então, qual valor realmente prevalece? 🌟

A precedência decide

O Ansible segue uma ordem fixa chamada precedência de variáveis. Quando um nome é definido duas vezes, a fonte de maior prioridade substitui a de menor prioridade.

Os padrões de função têm a menor prioridade

Os valores na pasta defaults de uma função ficam na posição mais baixa. Eles foram feitos para serem facilmente substituídos por quase qualquer outra coisa.

# roles/web/defaults/main.yml
http_port: 80

Variáveis do inventário

As variáveis definidas no inventário, como em group_vars ou host_vars, têm prioridade maior que os padrões de função, mas menor que as variáveis do play.

# group_vars/web.yml
http_port: 8080

As variáveis do play têm mais prioridade

As variáveis sob a chave vars de um play têm prioridade maior que os valores do inventário. Defina um valor aqui e ele prevalecerá sobre qualquer valor em group_vars.

- hosts: web
  vars:
    http_port: 9090

As variáveis da tarefa são específicas

Você pode associar vars a uma única tarefa. Esse valor se aplica somente ali e tem prioridade maior que as variáveis mais abrangentes do play.

- debug:
    var: http_port
  vars:
    http_port: 1234

Variáveis registradas e set_fact

Os valores capturados com register ou definidos durante uma execução com set_fact ocupam uma posição alta na ordem, logo abaixo das variáveis extras.

- set_fact:
    http_port: 7000

As variáveis extras ficam no topo

As variáveis extras da linha de comando prevalecem sobre tudo o mais. O que você passar com -e será a palavra final nessa execução.

ansible-playbook site.yml -e http_port=443

Dentro do mesmo nível, vence a última definição

Quando duas fontes compartilham o mesmo nível, entra em vigor aquela carregada por último. Primeiro vem a precedência; a ordem de carregamento desempata.

Mantenha a simplicidade

Raramente é necessário memorizar toda a tabela. Coloque valores sensatos em defaults, faça substituições deliberadas e evite definir o mesmo nome em todos os lugares.

Depure o valor obtido

Não sabe qual valor prevaleceu? Imprima-o com debug para ver o resultado resolvido antes de usá-lo em produção.

- debug:
    var: http_port

Verificação rápida

Qual fonte de uma variável tem a maior precedência?

Recapitulação

Você mapeou a hierarquia de precedência: defaults em primeiro lugar, depois as variáveis do inventário, do play e da tarefa, então set_fact, com as variáveis extras no topo. ✨

Grátis para começar

Aprenda YAML com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “De onde vêm as variáveis e qual é a precedência” é grátis?

Sim — o texto completo de “De onde vêm as variáveis e qual é a precedência” é 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 Ansible Academy, atualize para CoddyKit PRO. O curso de Ansible Academy inclui 4 aulas no total.

O que vou aprender em “De onde vêm as variáveis e qual é a precedência”?

Conheça um primeiro mapa das fontes de variáveis. Você pratica Ansible Academy 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 Ansible Academy?

Nenhuma experiência prévia é necessária. Ansible Academy 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 “De onde vêm as variáveis e qual é a precedência”?

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 Ansible Academy?

Sim. Cada aula de Ansible Academy 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

  1. Definindo e usando vars em um play
  2. A sintaxe de substituição {{ }}
  3. Variáveis extras na linha de comando
  4. De onde vêm as variáveis e qual é a precedência
← Voltar para Ansible Academy