0Pricing
DevOps Bootcamp · Leçon

Fractionner les playbooks avec import et include

Inclusion statique ou dynamique des tâches.

Fractionner les playbooks avec import et include 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.

Un fichier géant pose problème

Un livre de procédures de 500 lignes est difficile à lire et à réutiliser. Ansible vous permet de diviser le travail en morceaux et de les intégrer là où c'est nécessaire. ✂️

Deux familles : import et include

Ansible propose deux styles de réutilisation : import_* pour l’inclusion statique et include_* pour l’inclusion dynamique. La différence tient au moment du traitement.

Importation statique avec import_tasks

import_tasks est prétraité lors de l’analyse du playbook, avant l’exécution de toute tâche. Son comportement est fixe et prévisible.

- import_tasks: setup.yml

Inclusion dynamique avec include_tasks

include_tasks est traité à l’exécution, dans l’ordre, ce qui lui permet de réagir aux variables et aux résultats déterminés plus tôt dans le play.

- include_tasks: "{{ os_family }}.yml"

Pourquoi le moment du traitement est important

Comme import est statique, vous ne pouvez pas utiliser une variable d’exécution dans son nom de fichier. Vous devez alors utiliser include_tasks, qui est dynamique.

Les boucles nécessitent include

Vous souhaitez répéter un fichier entier ? Seul include_tasks prend en charge loop, puisque l’ensemble des fichiers est déterminé pendant l’exécution du play.

- include_tasks: user.yml
  loop: "{{ users }}"

Les balises se comportent différemment

Une balise placée sur import_tasks s’applique à chaque tâche importée, tandis qu’une balise placée sur include_tasks s’applique uniquement à l’instruction include elle-même.

Importer des playbooks entiers

Au niveau supérieur, utilisez import_playbook pour combiner des playbooks entiers. C’est exactement ainsi que site.yml assemble votre projet.

- import_playbook: webservers.yml
- import_playbook: dbservers.yml

Réutilisation entre les plays

Des fichiers de tâches partagés, comme un démarrage commun, peuvent être importés dans de nombreux playbooks. Vous écrivez la logique une seule fois et la réutilisez partout.

Une valeur par défaut judicieuse

Préférez import pour les étapes prévisibles qui doivent toujours s’exécuter. Utilisez include uniquement lorsque vous avez réellement besoin de décisions prises à l’exécution, comme des boucles ou des noms de fichiers variables.

La séparation en pratique

Ici, un play importe un fichier de configuration statique, puis inclut sous condition un fichier spécifique à l’OS. Deux outils, deux rôles. 🎯

tasks:
  - import_tasks: base.yml
  - include_tasks: "{{ ansible_os_family }}.yml"

Vérification rapide

Vous devez construire un nom de fichier à partir d’une variable d’exécution. Quelle directive fonctionne ?

Récapitulatif

Vous avez appris que import_* est statique et analysé au préalable, tandis que include_* est dynamique et s’exécute à l’endroit où il apparaît, ce qui permet les boucles et les noms de fichiers variables. ✅

Questions Fréquemment Posées

La leçon « Fractionner les playbooks avec import et include » est-elle gratuite ?

Oui — le texte complet de « Fractionner les playbooks avec import et include » 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 « Fractionner les playbooks avec import et include » ?

Inclusion statique ou dynamique des tâches. 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 « Fractionner les playbooks avec import et include » ?

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

  1. Organisation de répertoires recommandée
  2. Répertoires group_vars et host_vars
  3. Fractionner les playbooks avec import et include
  4. Nommage, commentaires et style évolutifs
← Retour à DevOps Bootcamp