0Pricing
DevOps Bootcamp · Lezione

include_role e import_role a runtime

Richiami dinamicamente i ruoli durante un play

include_role e import_role a runtime è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 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.

Oltre l'elenco roles

L'elenco roles di primo livello applica i ruoli prima dell'esecuzione di qualsiasi task. A volte è necessario eseguire un ruolo a metà del play, esattamente nel punto occupato da un task.

Chiamare un ruolo come task

Sia include_role sia import_role permettono di richiamare un ruolo dalla sezione dei task, insieme agli altri passaggi.

tasks:
  - import_role:
      name: nginx

import_role è statico

import_role viene elaborato durante l'analisi del playbook, prima dell'avvio dell'esecuzione. I suoi task vengono inseriti in anticipo, quindi non possono dipendere dai dati di runtime.

include_role è dinamico

include_role viene elaborato durante l'esecuzione, nel momento in cui si raggiunge quel task. Può reagire ai fact e ai risultati registrati.

tasks:
  - include_role:
      name: backup
    when: do_backup

Iterare su un ruolo

Poiché include_role viene eseguito dinamicamente, può inserirlo in un loop e applicare lo stesso ruolo con variabili diverse a ogni iterazione.

- include_role:
    name: deploy_app
  loop: "{{ app_list }}"

import_role non supporta loop

Poiché import_role viene risolto durante l'analisi, non supporta loop. Utilizzi include_role quando deve ripetere un ruolo.

Come differisce when

Un when su import_role copia la condizione in ogni task interno. Un when su include_role applica la condizione all'intero ruolo come unità.

Passare variabili in entrambi i modi

Entrambe le forme accettano vars per parametrizzare il ruolo, proprio come l'elenco roles. I valori vengono passati direttamente al ruolo incluso.

- include_role:
    name: web
  vars:
    http_port: 8080

Tag e comportamento statico o dinamico

Con import_role, i tag dei task importati sono visibili a --list-tags. Con include_role deve applicare i tag direttamente all'inclusione.

Scelga lo strumento giusto

Scelga import_role per una struttura prevedibile, sempre eseguita. Scelga include_role quando il ruolo deve essere eseguito in modo condizionale o all'interno di un loop.

Stesso schema, due livelli

Ansible offre la stessa distinzione tra statico e dinamico per i file di task: import_tasks e include_tasks rispecchiano esattamente queste keyword dei ruoli.

Controllo rapido

Ricordi quale keyword può applicare un ruolo all'interno di un loop.

Riepilogo

Utilizzi import_role per una struttura statica, risolta durante l'analisi, e include_role per un richiamo dinamico a runtime con loop e condizioni. 🔁

Domande Frequenti

La lezione «include_role e import_role a runtime» è gratuita?

Sì — il testo completo di «include_role e import_role a runtime» è 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 «include_role e import_role a runtime»?

Richiami dinamicamente i ruoli durante un play 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 3 di 4.

Quanto tempo richiede la lezione «include_role e import_role a runtime»?

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. Dipendenze dei ruoli in meta/main.yml
  2. defaults e vars: ordine delle sostituzioni
  3. include_role e import_role a runtime
  4. allow_duplicates e idempotenza dei ruoli
← Torna a DevOps Bootcamp