include_role et import_role à l’exécution
Appelez dynamiquement des rôles au cours d’un play.
include_role et import_role à l’exécution est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Au-delà de la liste roles
La liste roles de niveau supérieur applique les rôles avant l’exécution de toute tâche. Parfois, vous avez besoin d’un rôle au milieu de l’exécution, exactement à l’endroit où se trouve une tâche.
Appelez un rôle comme une tâche
include_role et import_role vous permettent tous deux d’invoquer un rôle depuis la section des tâches, au même niveau que vos autres étapes.
tasks:
- import_role:
name: nginximport_role est statique
import_role est traité lors de l’analyse du playbook, avant le début de l’exécution. Ses tâches sont intégrées tôt et ne peuvent donc pas dépendre de données d’exécution.
include_role est dynamique
include_role est traité pendant l’exécution, au moment où cette tâche est atteinte. Il peut réagir aux faits et aux résultats enregistrés.
tasks:
- include_role:
name: backup
when: do_backupParcourez un rôle en boucle
Comme include_role s’exécute dynamiquement, vous pouvez le placer dans une boucle et appliquer le même rôle avec des variables différentes à chaque passage.
- include_role:
name: deploy_app
loop: "{{ app_list }}"import_role ne peut pas utiliser de boucle
Comme import_role est résolu au moment de l’analyse, il ne prend pas en charge loop. Utilisez include_role chaque fois que vous devez répéter un rôle.
Différence de comportement de when
Un when sur import_role copie la condition sur chaque tâche interne. Un when sur include_role contrôle l’ensemble du rôle comme une seule unité.
Transmettez des variables dans les deux cas
Les deux formes acceptent vars pour paramétrer le rôle, comme le fait la liste roles. Les valeurs sont directement transmises au rôle inclus.
- include_role:
name: web
vars:
http_port: 8080Étiquettes et statique contre dynamique
Avec import_role, les étiquettes des tâches importées sont visibles avec --list-tags. Avec include_role, vous devez appliquer les étiquettes à l’inclusion elle-même.
Choisissez le bon outil
Choisissez import_role pour une structure prévisible qui s’exécute toujours. Choisissez include_role lorsque le rôle doit s’exécuter sous condition ou dans une boucle.
Le même modèle, à deux niveaux
Ansible propose la même distinction statique-dynamique pour les fichiers de tâches : import_tasks et include_tasks reprennent exactement ces mots-clés de rôle.
Vérification rapide
Rappelez-vous quel mot-clé peut appliquer un rôle dans une boucle.
Récapitulatif
Utilisez import_role pour une structure statique, résolue lors de l’analyse, et include_role pour une invocation dynamique, à l’exécution, avec des boucles et des conditions. 🔁
Questions Fréquemment Posées
La leçon « include_role et import_role à l’exécution » est-elle gratuite ?
Oui — le texte complet de « include_role et import_role à l’exécution » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « include_role et import_role à l’exécution » ?
Appelez dynamiquement des rôles au cours d’un play. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « include_role et import_role à l’exécution » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Dépendances de rôles dans meta/main.yml
- defaults ou vars : ordre de remplacement
- include_role et import_role à l’exécution
- allow_duplicates et idempotence des rôles