0Pricing
DevOps Bootcamp · Aula

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 DevOps Bootcamp 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 DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp 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: firewall

As 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: 8080

Uma 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 DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp 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 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 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 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

  1. Dependências de roles em meta/main.yml
  2. defaults versus vars: a ordem de substituição
  3. include_role e import_role em tempo de execução
  4. allow_duplicates e idempotência de roles
← Voltar para DevOps Bootcamp