0Pricing
Ansible Academy · Lección

Dependencias de roles en meta/main.yml

Encadene roles que requieren otros roles

Dependencias de roles en meta/main.yml es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.

Roles que necesitan otros roles

Algunos roles solo funcionan si otro rol se ejecutó antes. Es posible que su rol de aplicación necesite un rol base que refuerce la seguridad del servidor antes de realizar el despliegue.

Conozca meta/main.yml

Cada rol puede contener un archivo meta/main.yml. En él se almacenan metadatos del rol, como el autor, las plataformas compatibles y sus dependencias.

La clave dependencies

Dentro de meta/main.yml, la clave dependencies enumera los roles que deben ejecutarse antes que este. Ansible los aplica primero de forma automática.

dependencies:
  - role: common
  - role: firewall

Las dependencias se ejecutan primero

Al aplicar un rol, Ansible ejecuta antes sus dependencies enumeradas, en el orden en que aparecen, y después ejecuta las tareas propias del rol.

Pase variables a una dependencia

Puede proporcionar variables a una dependencia directamente en la lista. El rol base se ejecutará configurado exactamente como lo necesita este rol.

dependencies:
  - role: nginx
    vars:
      http_port: 8080

Una cadena de dependencias real

Un rol de aplicación web depende de nginx, que a su vez depende de common. Aplique webapp y Ansible resolverá toda la cadena de arriba abajo por usted.

Dependencias condicionales

Una dependencia puede incluir una condición when, por lo que solo se ejecutará en los hosts que coincidan. Por ejemplo, puede omitir el rol del firewall en los equipos de desarrollo.

dependencies:
  - role: firewall
    when: env == 'prod'

Las dependencias son estáticas

Las dependencias de meta se resuelven antes de que comience el play. No pueden usar hechos de ejecución recopilados posteriormente, así que mantenga sus condiciones sencillas.

Galaxy también lee meta

Al instalar un rol desde Ansible Galaxy, este lee meta/main.yml y obtiene automáticamente todas las dependencias enumeradas allí.

Mantenga las dependencias claras

Enumere un rol como dependencia solo si realmente debe ejecutarse primero. Las cadenas ocultas dificultan la comprensión y la depuración de la automatización.

La información de Galaxy también está aquí

Además de las dependencias, meta/main.yml contiene galaxy_info: la licencia, la versión mínima de Ansible y las plataformas. Documenta cómo debe utilizarse un rol.

Comprobación rápida

Recuerde dónde se declara que un rol debe ejecutarse antes que otro.

Resumen

Enumere los roles necesarios en dependencies, dentro de meta/main.yml, y Ansible ejecutará primero esa cadena, opcionalmente con variables y condiciones. 🔗

Preguntas frecuentes

¿La lección «Dependencias de roles en meta/main.yml» es gratis?

Sí — el texto completo de «Dependencias de roles en meta/main.yml» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Dependencias de roles en meta/main.yml»?

Encadene roles que requieren otros roles Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ansible Academy?

No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Dependencias de roles en meta/main.yml»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?

Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Dependencias de roles en meta/main.yml
  2. defaults frente a vars: orden de sobrescritura
  3. include_role e import_role en tiempo de ejecución
  4. allow_duplicates e idempotencia de roles
← Volver a Ansible Academy