include_role e import_role en tiempo de ejecución
Invoque roles dinámicamente durante un play
include_role e import_role en tiempo de ejecución es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 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.
Más allá de la lista de roles
La lista de roles de nivel superior aplica los roles antes de ejecutar cualquier tarea. A veces necesitará un rol a mitad del play, exactamente en el punto donde se encuentra una tarea.
Llame a un rol como una tarea
Tanto include_role como import_role le permiten invocar un rol dentro de la sección de tareas, junto con los demás pasos.
tasks:
- import_role:
name: nginximport_role es estático
import_role se procesa cuando se analiza el playbook, antes de que comience la ejecución. Sus tareas se insertan desde el principio, por lo que no pueden depender de datos de ejecución.
include_role es dinámico
include_role se procesa durante la ejecución, en el momento en que se alcanza esa tarea. Puede reaccionar a hechos y resultados registrados.
tasks:
- include_role:
name: backup
when: do_backupRepita un rol en un bucle
Como include_role se ejecuta dinámicamente, puede colocarlo en un bucle y aplicar el mismo rol con variables distintas en cada iteración.
- include_role:
name: deploy_app
loop: "{{ app_list }}"import_role no admite loop
Como import_role se resuelve en el momento del análisis, no admite loop. Use include_role siempre que necesite repetir un rol.
Así se comporta when de forma diferente
Un when en import_role copia la condición en cada tarea interna. Un when en include_role controla todo el rol como una sola unidad.
Pase variables de ambas formas
Ambas formas aceptan vars para parametrizar el rol, igual que la lista de roles. Los valores pasan directamente al rol incluido.
- include_role:
name: web
vars:
http_port: 8080Etiquetas y comportamiento estático o dinámico
Con import_role, las etiquetas de las tareas importadas aparecen en --list-tags. Con include_role, debe aplicar las etiquetas al propio include.
Elija la herramienta adecuada
Use import_role para una estructura predecible que siempre se ejecute. Use include_role cuando el rol deba ejecutarse condicionalmente o dentro de un bucle.
El mismo patrón, en dos niveles
Ansible ofrece la misma división entre estático y dinámico para los archivos de tareas: import_tasks e include_tasks reproducen exactamente estas palabras clave de roles.
Comprobación rápida
Recuerde qué palabra clave puede aplicar un rol dentro de un bucle.
Resumen
Use import_role para una estructura estática en el momento del análisis e include_role para una invocación dinámica durante la ejecución, con bucles y condiciones. 🔁
Preguntas frecuentes
¿La lección «include_role e import_role en tiempo de ejecución» es gratis?
Sí — el texto completo de «include_role e import_role en tiempo de ejecución» 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 «include_role e import_role en tiempo de ejecución»?
Invoque roles dinámicamente durante un play 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 3 de 4.
¿Cuánto tiempo toma la lección «include_role e import_role en tiempo de ejecución»?
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