0Pricing
DevOps Bootcamp · Leçon

allow_duplicates et idempotence des rôles

Contrôlez l’exécution répétée des rôles.

allow_duplicates et idempotence des rôles est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 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.

Les rôles ne s’exécutent qu’une fois par défaut

Si deux rôles dépendent tous deux du rôle common, Ansible est assez intelligent pour n’exécuter common qu’une seule fois, et non deux, au cours d’une même exécution.

Pourquoi la déduplication existe

Cette déduplication empêche les rôles de configuration partagés de répéter un travail coûteux, comme le renforcement d’un rôle de base pour chaque rôle applicatif.

Même rôle, mêmes paramètres

Le saut ne s’applique que lorsque le rôle est demandé avec les mêmes paramètres. Les appels identiques sont considérés comme déjà effectués.

Des paramètres différents entraînent une nouvelle exécution

Appelez le même rôle avec des variables différentes et Ansible l’exécutera à nouveau. Un rôle d’hôte virtuel avec deux configurations est appliqué deux fois, comme vous le souhaitez.

roles:
  - role: vhost
    vars: { name: site_a }
  - role: vhost
    vars: { name: site_b }

Découvrez allow_duplicates

Le paramètre allow_duplicates de meta/main.yml contrôle ce comportement. Définissez-le à true et le rôle pourra s’exécuter plusieurs fois au cours d’une exécution.

# meta/main.yml
allow_duplicates: true

Quand autoriser les doublons

Activez cette option pour les rôles conçus pour être appliqués plusieurs fois, comme lors de la création de plusieurs utilisateurs ou hôtes virtuels, chaque appel réalisant un travail réellement nouveau.

La valeur par défaut est false

Par défaut, allow_duplicates vaut false : un rôle appelé avec des paramètres identiques ne s’exécute donc qu’une seule fois. Laissez cette option désactivée pour les rôles de configuration ponctuelle.

La déduplication n’est pas l’idempotence

Ignorer un appel en double est une commodité d’exécution. La véritable idempotence signifie que chaque tâche converge vers un état donné, quelle que soit la fréquence de son exécution.

Concevez des tâches idempotentes

Dans un rôle, préférez les modules fondés sur l’état aux commandes brutes. Un rôle réellement idempotent peut être appliqué deux fois sans conséquence néfaste.

include_role s’exécute toujours à nouveau

Attention : include_role ne respecte pas la logique de déduplication de la même manière. Un rôle inclus dynamiquement s’exécute chaque fois que vous l’atteignez.

Composable et sûr

Combinez la déduplication, allow_duplicates et des tâches idempotentes pour créer des hiérarchies de rôles qui se composent proprement et restent sûres à réexécuter.

Vérification rapide

Rappelez-vous le paramètre qui permet à un rôle de s’exécuter plusieurs fois dans un scénario.

Récapitulatif

Ansible élimine les appels identiques à un rôle ; définissez allow_duplicates sur true pour en répéter un, et veillez à rendre les tâches idempotentes pour des réexécutions sûres. ♻️

Questions Fréquemment Posées

La leçon « allow_duplicates et idempotence des rôles » est-elle gratuite ?

Oui — le texte complet de « allow_duplicates et idempotence des rôles » 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 « allow_duplicates et idempotence des rôles » ?

Contrôlez l’exécution répétée des rôles. 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 4 sur 4.

Combien de temps prend la leçon « allow_duplicates et idempotence des rôles » ?

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. Dépendances de rôles dans meta/main.yml
  2. defaults ou vars : ordre de remplacement
  3. include_role et import_role à l’exécution
  4. allow_duplicates et idempotence des rôles
← Retour à DevOps Bootcamp