Passage de variables aux playbooks Ansible
Maintenant que vous avez une compréhension de base des variables Ansible, explorons comment passer des variables à vos playbooks Ansible. Il existe plusieurs façons de le faire :
Arguments de ligne de commande
Vous pouvez passer des variables à votre playbook en utilisant l'option -e
ou --extra-vars
lors de l'exécution de la commande ansible-playbook
.
ansible-playbook site.yml -e "app_version=2.2 db_host=10.0.0.60"
Fichiers de variables
Vous pouvez définir des variables dans des fichiers YAML séparés et les passer à votre playbook en utilisant l'option --extra-vars
.
ansible-playbook site.yml --extra-vars "@vars.yml"
## vars.yml
app_name: MyApp
app_version: 2.2
db_host: 10.0.0.60
Variables d'inventaire
Comme mentionné dans la section précédente, vous pouvez définir des variables dans votre fichier d'inventaire et elles seront disponibles pour votre playbook.
## inventory.yml
all:
hosts:
webserver1:
ansible_host: 192.168.1.100
app_version: 2.0
webserver2:
ansible_host: 192.168.1.101
app_version: 2.1
Variables de playbook
Vous pouvez également définir des variables dans votre playbook en utilisant le mot-clé vars
.
- hosts: webservers
vars:
app_name: MyApp
app_version: 2.2
db_host: 10.0.0.60
tasks:
- name: Print variables
debug:
msg: "App name: {{ app_name }}, App version: {{ app_version }}, db host: {{ db_host }}"
En comprenant ces différentes façons de passer des variables à vos playbooks Ansible, vous pouvez rendre votre automatisation plus flexible et adaptable à différents environnements et exigences.