Dependências de roles em meta/main.yml
Encadeie roles que exigem outras roles.
Dependências de roles em meta/main.yml é uma aula grátis de Ansible Academy no CoddyKit. Esta é a aula 1 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.
Roles que precisam de outras roles
Algumas roles só funcionam se outra role for executada antes. Sua role da aplicação pode precisar de uma role base para reforçar a segurança do servidor antes da implantação.
Conheça meta/main.yml
Toda role pode conter um arquivo meta/main.yml. Ele armazena metadados da role, como o autor, as plataformas compatíveis e suas dependências.
A chave dependencies
Dentro de meta/main.yml, a chave dependencies lista as roles que devem ser executadas antes desta. O Ansible as aplica primeiro, automaticamente.
dependencies:
- role: common
- role: firewallAs dependências são executadas primeiro
Quando você aplica uma role, o Ansible executa antes dela as dependencies listadas, na ordem em que aparecem, e então executa as próprias tarefas da sua role.
Passe variáveis para uma dependência
Você pode passar variáveis para uma dependência diretamente na lista. A role base será executada exatamente com a configuração de que esta role precisa.
dependencies:
- role: nginx
vars:
http_port: 8080Uma cadeia de dependências real
Uma role de aplicação web depende de nginx, que depende de common. Aplique webapp e a cadeia inteira será resolvida de cima para baixo automaticamente.
Dependências condicionais
Uma dependência pode conter uma condição when, para ser executada somente nos hosts correspondentes. Por exemplo, você pode ignorar a role do firewall nos servidores de desenvolvimento.
dependencies:
- role: firewall
when: env == 'prod'As dependências são estáticas
As dependências em meta são resolvidas antes do início da execução. Elas não podem usar fatos obtidos posteriormente durante a execução, portanto mantenha suas condições simples.
O Galaxy também lê meta
Quando você instala uma role pelo Ansible Galaxy, ele lê meta/main.yml e obtém automaticamente todas as dependências listadas ali.
Mantenha as dependências honestas
Liste uma role como dependência somente se ela realmente precisar ser executada antes. Cadeias ocultas tornam a automação difícil de entender e depurar.
As informações do Galaxy também ficam aqui
Além das dependências, meta/main.yml contém galaxy_info: licença, versão mínima do Ansible e plataformas. Ele documenta como uma role deve ser usada.
Verificação rápida
Lembre-se de onde declarar que uma role deve ser executada antes de outra.
Recapitulação
Liste as roles necessárias em dependencies, dentro de meta/main.yml, e o Ansible executará essa cadeia primeiro, opcionalmente com variáveis e condições. 🔗
Perguntas Frequentes
A aula “Dependências de roles em meta/main.yml” é grátis?
Sim — o texto completo de “Dependências de roles em meta/main.yml” é 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 “Dependências de roles em meta/main.yml”?
Encadeie roles que exigem outras roles. 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 1 de 4.
Quanto tempo leva a aula “Dependências de roles em meta/main.yml”?
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
- Dependências de roles em meta/main.yml
- defaults versus vars: a ordem de substituição
- include_role e import_role em tempo de execução
- allow_duplicates e idempotência de roles