0Pricing
DevOps Bootcamp · Lezione

Origine e precedenza delle variabili

Tracci una prima mappa delle origini delle variabili.

Origine e precedenza delle variabili è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Tante fonti

La stessa variabile può essere impostata in molti punti: inventory, vars del play, file, CLI e altro. Quale valore prevale davvero? 🌟

La precedenza decide

Ansible segue un ordine fisso chiamato precedenza delle variabili. Quando un nome viene impostato due volte, la fonte con priorità maggiore sovrascrive quella con priorità minore.

I defaults dei ruoli hanno la precedenza più bassa

I valori nella cartella defaults di un ruolo si trovano al livello più basso. Sono pensati per poter essere facilmente sovrascritti da quasi ogni altra fonte.

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

Variabili dell'inventory

Le vars impostate nell'inventory, ad esempio in group_vars o host_vars, hanno una precedenza maggiore dei defaults dei ruoli, ma minore delle vars a livello di play.

# group_vars/web.yml
http_port: 8080

Le play vars hanno maggiore priorità

Le variabili sotto la chiave vars di un play prevalgono sui valori dell'inventory. Definisca qui un valore e questo avrà la precedenza su qualsiasi valore in group_vars.

- hosts: web
  vars:
    http_port: 9090

Le task vars sono circoscritte

È possibile associare vars a un singolo task. Il valore si applica solo a quel task e ha una precedenza maggiore rispetto alle vars più generali del play.

- debug:
    var: http_port
  vars:
    http_port: 1234

register e set_fact

I valori acquisiti con register o impostati durante un'esecuzione con set_fact si trovano ai livelli alti dell'ordine, subito sotto le extra vars.

- set_fact:
    http_port: 7000

Le extra vars sono al vertice

Le extra vars della riga di comando prevalgono su tutto il resto. Qualsiasi valore passato con -e è quello definitivo per quell'esecuzione.

ansible-playbook site.yml -e http_port=443

Vince l'ultima definizione, all'interno dello stesso livello

Quando due fonti condividono lo stesso livello, ha effetto quella caricata per ultima. Prima conta la precedenza, poi l'ordine di caricamento risolve i pareggi.

Mantenere la semplicità

Raramente è necessario memorizzare l'intera tabella. Inserisca valori sensati nei defaults, applichi gli override in modo consapevole ed eviti di impostare lo stesso nome ovunque.

Eseguire il debug del valore ottenuto

Non è sicuro di quale valore abbia prevalso? Lo stampi con debug per vedere il risultato risolto prima di usarlo in produzione.

- debug:
    var: http_port

Controllo rapido

Quale fonte di una variabile ha la precedenza più alta?

Riepilogo

Ha tracciato la gerarchia delle precedenze: defaults al livello più basso, poi inventory, vars di play e task, quindi set_fact, con le extra vars al vertice. ✨

Domande Frequenti

La lezione «Origine e precedenza delle variabili» è gratuita?

Sì — il testo completo di «Origine e precedenza delle variabili» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Origine e precedenza delle variabili»?

Tracci una prima mappa delle origini delle variabili. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Origine e precedenza delle variabili»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Definire e usare vars in un play
  2. La sintassi di sostituzione {{ }}
  3. Variabili extra dalla riga di comando
  4. Origine e precedenza delle variabili
← Torna a DevOps Bootcamp