0Pricing
DevOps Bootcamp · Lección

De dónde proceden las variables y su precedencia

Un primer mapa de las fuentes de variables.

De dónde proceden las variables y su precedencia es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 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.

Demasiadas fuentes

La misma variable puede definirse en muchos lugares: el inventario, las variables del play, los archivos, la CLI y más. Entonces, ¿qué valor prevalece realmente? 🌟

La precedencia decide

Ansible sigue un orden fijo llamado precedencia de variables. Cuando un nombre se define dos veces, la fuente de mayor prioridad sobrescribe a la de menor prioridad.

Los valores predeterminados de los roles tienen la menor prioridad

Los valores de la carpeta defaults de un rol se encuentran en el nivel más bajo. Están pensados para que casi cualquier otra fuente pueda sobrescribirlos fácilmente.

# roles/web/defaults/main.yml
http_port: 80

Variables del inventario

Las variables definidas en el inventario, como las de group_vars o host_vars, tienen mayor prioridad que los valores predeterminados de los roles, pero menor que las variables del play.

# group_vars/web.yml
http_port: 8080

Las variables del play tienen mayor prioridad

Las variables bajo la clave vars de un play prevalecen sobre los valores del inventario. Defina aquí un valor y prevalecerá sobre cualquier valor de group_vars.

- hosts: web
  vars:
    http_port: 9090

Las variables de tarea son específicas

Puede asociar vars a una sola tarea. Ese valor se aplica únicamente allí y tiene mayor prioridad que las variables más generales del play.

- debug:
    var: http_port
  vars:
    http_port: 1234

register y set_fact

Los valores que captura con register o establece durante una ejecución con set_fact tienen una prioridad alta, justo por debajo de las variables adicionales.

- set_fact:
    http_port: 7000

Las variables adicionales tienen la máxima prioridad

Las variables adicionales de la línea de comandos prevalecen sobre todo lo demás. Lo que pase con -e tiene la última palabra durante esa ejecución.

ansible-playbook site.yml -e http_port=443

Gana la última definición dentro del mismo nivel

Cuando dos fuentes comparten el mismo nivel, se aplica la que se cargó última. Primero se considera la precedencia y el orden de carga resuelve los empates.

Manténgalo sencillo

Rara vez necesita memorizar toda la tabla. Coloque valores razonables en defaults, sobrescriba de forma deliberada y evite definir el mismo nombre en todas partes.

Depure el valor obtenido

¿No está seguro de qué valor prevaleció? Muéstrelo con debug para ver el resultado resuelto antes de confiar en él en producción.

- debug:
    var: http_port

Comprobación rápida

¿Qué fuente de una variable tiene la mayor precedencia?

Resumen

Ha recorrido la escala de precedencia: defaults tiene la menor prioridad, seguido de las variables del inventario, del play y de las tareas, luego set_fact y, en la cima, las variables adicionales. ✨

Preguntas frecuentes

¿La lección «De dónde proceden las variables y su precedencia» es gratis?

Sí — el texto completo de «De dónde proceden las variables y su precedencia» 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 «De dónde proceden las variables y su precedencia»?

Un primer mapa de las fuentes de variables. 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 4 de 4.

¿Cuánto tiempo toma la lección «De dónde proceden las variables y su precedencia»?

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

  1. Definir y usar vars en un play
  2. La sintaxis de sustitución {{ }}
  3. Variables adicionales en la línea de comandos
  4. De dónde proceden las variables y su precedencia
← Volver a DevOps Bootcamp