Anatomía del directorio de un role
tasks, handlers, templates, defaults, vars
Anatomía del directorio de un role es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 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.
Un role es un árbol de directorios
Un role no es más que un directorio con un conjunto fijo de subdirectorios. Ansible conoce cada directorio por su nombre y carga automáticamente su contenido.
roles/
nginx/
tasks/
handlers/
templates/tasks/main.yml es el punto de entrada
El archivo tasks/main.yml contiene la lista principal de tareas del role. Es lo primero que ejecuta Ansible cuando se aplica el role.
tasks/main.yml:
- name: Install nginx
ansible.builtin.package:
name: nginxhandlers/ contiene la lógica de reinicio
El directorio handlers define acciones como reiniciar un servicio. Las tareas notifican a estos handlers para que los reinicios solo se produzcan cuando hay cambios.
templates/ para archivos Jinja2
Coloque sus archivos de plantilla .j2 en templates/. El módulo template los encuentra allí por su nombre, sin necesidad de especificar la ruta completa.
templates/
nginx.conf.j2files/ para archivos estáticos
El directorio files almacena archivos normales que se copian tal cual. El módulo copy los localiza automáticamente, igual que las plantillas.
defaults/ establece variables de baja prioridad
El archivo defaults/main.yml contiene variables con la precedencia más baja, por lo que los usuarios pueden sobrescribirlas fácilmente desde fuera del role.
defaults/main.yml:
nginx_port: 80vars/ establece variables de alta prioridad
El archivo vars/main.yml contiene variables con una precedencia más alta. Úselo para valores de los que depende el role y que rara vez deberían cambiar.
meta/main.yml describe el role
El archivo meta/main.yml enumera el autor del role, la licencia, las plataformas compatibles y las dependencias de otros roles.
main.yml es el nombre mágico
Dentro de tasks, handlers, vars y defaults, Ansible carga automáticamente el archivo llamado main.yml. Esa convención de nombres es lo que mantiene todo conectado.
Solo necesita lo que usa
Un role no necesita todos los directorios. Si no tiene plantillas, simplemente omita el directorio templates. Ansible ignora los directorios opcionales que faltan.
tests/ y README para pulir el resultado
Los roles maduros incluyen un README y un directorio tests para que otras personas entiendan y verifiquen su automatización antes de usarla.
Comprobación rápida
Recuerde dónde se encuentra la lista principal de tareas de un role.
Resumen
Un role es un árbol de directorios en el que tasks, handlers, plantillas, archivos, defaults, vars y meta tienen cada uno un lugar fijo, todo organizado en torno a main.yml. 📁
Preguntas frecuentes
¿La lección «Anatomía del directorio de un role» es gratis?
Sí — el texto completo de «Anatomía del directorio de un role» 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 «Anatomía del directorio de un role»?
tasks, handlers, templates, defaults, vars 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 2 de 4.
¿Cuánto tiempo toma la lección «Anatomía del directorio de un role»?
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
- Por qué usar roles: del monolito a los módulos
- Anatomía del directorio de un role
- Crear la estructura de un role con ansible-galaxy init
- Aplicar roles y pasar variables a roles