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 DevOps Bootcamp 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 DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp 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: firewallLas 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: 8080Una 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 DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Dependencias de roles en meta/main.yml»?
Encadene roles que requieren otros roles Practicas DevOps Bootcamp 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 DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp 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 DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp 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
- Dependencias de roles en meta/main.yml
- defaults frente a vars: orden de sobrescritura
- include_role e import_role en tiempo de ejecución
- allow_duplicates e idempotencia de roles