Variables supplémentaires sur la ligne de commande
Remplacez les valeurs à l’exécution avec -e.
Variables supplémentaires sur la ligne de commande est une leçon Ansible Academy 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 Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.
Valeurs au moment de l’exécution
Vous souhaitez parfois choisir une valeur au lancement d’un scénario plutôt que de l’intégrer dans un fichier. C’est le rôle des extra vars. 🌟
L’option -e
Transmettez des variables supplémentaires avec l’option -e (ou --extra-vars) d’ansible-playbook. Chacune devient une variable disponible pendant toute l’exécution.
ansible-playbook site.yml -e "env=prod"Plusieurs paires key=value
Séparez plusieurs valeurs par des espaces dans une seule chaîne entre guillemets. Ansible analyse chaque paire key=value pour en faire une variable.
ansible-playbook site.yml -e "env=prod port=443"Répéter -e
Vous pouvez également transmettre -e plusieurs fois. Chaque occurrence ajoute sa propre variable, ce qui facilite la lecture des commandes longues.
ansible-playbook site.yml -e env=prod -e port=443JSON pour des types riches
key=value transforme tout en chaîne de caractères. Pour transmettre des nombres, des listes ou des dictionnaires, utilisez plutôt du JSON dans les variables supplémentaires.
ansible-playbook site.yml -e '{"port": 443}'Charger des variables supplémentaires depuis un fichier
Préfixez la valeur par un @ pour lire les variables depuis un fichier YAML ou JSON. C'est idéal pour un ensemble important de surcharges.
ansible-playbook site.yml -e @overrides.ymlLes variables supplémentaires l'emportent
Une variable supplémentaire l'emporte sur presque toutes les autres sources. Si env est défini dans vars et via la CLI, c'est la valeur de la ligne de commande qui est utilisée.
Une valeur par défaut sûre pour la surcharge
Associez les variables supplémentaires au filtre default afin que le play continue de fonctionner lorsqu'aucune surcharge n'est fournie.
name: "{{ env | default('dev') }}"Adapté aux environnements
Le même playbook peut cibler dev, staging ou prod en modifiant simplement une variable supplémentaire au lancement. Un fichier, de nombreuses cibles.
ansible-playbook deploy.yml -e env=stagingActiver ou désactiver un comportement avec des indicateurs
Les variables supplémentaires fonctionnent très bien comme interrupteurs marche/arrêt. Combinez-en une avec une condition when pour activer ou ignorer une tâche.
when: run_migrations | default(false)Placez soigneusement les espaces entre guillemets
Si une valeur contient des espaces, placez toute la paire entre guillemets afin que votre shell ne la découpe pas. Faites attention à la mise entre guillemets du shell.
ansible-playbook s.yml -e "motd=Hello there"Vérification rapide
Vous définissez port dans vars et transmettez aussi -e port=443. Quelle valeur l'emporte ?
Récapitulatif
Vous pouvez maintenant remplacer des valeurs au lancement avec -e, transmettre du JSON ou @files, et compter sur le fait que les variables supplémentaires l'emportent sur les autres sources. ✨
Questions Fréquemment Posées
La leçon « Variables supplémentaires sur la ligne de commande » est-elle gratuite ?
Oui — le texte complet de « Variables supplémentaires sur la ligne de commande » 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 Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Variables supplémentaires sur la ligne de commande » ?
Remplacez les valeurs à l’exécution avec -e. Tu pratiques Ansible Academy 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 Ansible Academy ?
Aucune expérience préalable n'est requise. Ansible Academy 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 « Variables supplémentaires sur la ligne de commande » ?
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 Ansible Academy ?
Oui. Chaque leçon Ansible Academy 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éfinir et utiliser vars dans un play
- La syntaxe de substitution {{ }}
- Variables supplémentaires sur la ligne de commande
- Origine et priorité des variables