0Pricing
Ansible Academy · Aula

Dividindo playbooks com import e include

Inclusão estática versus dinâmica de tarefas.

Dividindo playbooks com import e include é uma aula grátis de Ansible Academy no CoddyKit. Esta é a aula 3 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.

Um Arquivo Gigante Causa Problemas

Um manual de execução com 500 linhas é difícil de ler e reutilizar. O Ansible permite dividir o trabalho em partes e incluí-las onde for necessário. ✂️

Duas famílias: import e include

O Ansible oferece dois estilos de reutilização: import_* para inclusão estática e include_* para inclusão dinâmica. A diferença está no momento em que isso ocorre.

Importação estática com import_tasks

import_tasks é pré-processado quando o playbook é analisado, antes da execução de qualquer tarefa. Ele é fixo e previsível.

- import_tasks: setup.yml

Inclusão dinâmica com include_tasks

include_tasks é processado durante a execução, na ordem, portanto pode reagir a variáveis e resultados definidos anteriormente no play.

- include_tasks: "{{ os_family }}.yml"

Por que o momento é importante

Como import é estático, você não pode usar uma variável de execução no nome do arquivo. Para isso, precisa usar o include_tasks dinâmico.

Laços exigem include

Quer repetir um arquivo inteiro? Somente include_tasks aceita laços, pois o conjunto de arquivos é decidido enquanto o play é executado.

- include_tasks: user.yml
  loop: "{{ users }}"

As tags se comportam de forma diferente

Uma tag em import_tasks aplica-se a todas as tarefas importadas, mas uma tag em include_tasks aplica-se somente à própria instrução de inclusão.

Importando playbooks inteiros

No nível superior, use import_playbook para combinar playbooks inteiros. É exatamente assim que site.yml monta seu projeto.

- import_playbook: webservers.yml
- import_playbook: dbservers.yml

Reutilização entre plays

Arquivos de tarefas compartilhados, como um arquivo comum de inicialização, podem ser importados para vários playbooks, para que você escreva a lógica uma vez e a reutilize em todos os lugares.

Um padrão sensato

Prefira import para etapas previsíveis que sempre serão executadas. Recorra a include somente quando realmente precisar de decisões durante a execução, como laços ou nomes de arquivos variáveis.

A divisão em ação

Aqui, um play importa um arquivo de configuração estático e, em seguida, inclui condicionalmente um arquivo específico do OS. Duas ferramentas, duas funções. 🎯

tasks:
  - import_tasks: base.yml
  - include_tasks: "{{ ansible_os_family }}.yml"

Verificação rápida

Você precisa de um nome de arquivo construído a partir de uma variável de execução. Qual diretiva funciona?

Recapitulação

Você aprendeu que import_* é estático e analisado antecipadamente, enquanto include_* é dinâmico e executado no ponto em que aparece, permitindo laços e nomes de arquivos variáveis. ✅

Perguntas Frequentes

A aula “Dividindo playbooks com import e include” é grátis?

Sim — o texto completo de “Dividindo playbooks com import e include” é 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 “Dividindo playbooks com import e include”?

Inclusão estática versus dinâmica de tarefas. 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 3 de 4.

Quanto tempo leva a aula “Dividindo playbooks com import e include”?

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. A organização de diretórios recomendada
  2. Diretórios group_vars e host_vars
  3. Dividindo playbooks com import e include
  4. Nomes, comentários e estilo que escalam
← Voltar para Ansible Academy