Oui, vous pouvez exécuter des commandes sur l'hôte Ansible. Vous pouvez spécifier que toutes les tâches d'une lecture s'exécutent sur l'hôte Ansible, ou vous pouvez marquer des tâches individuelles à exécuter sur l'hôte Ansible.
Si vous voulez exécuter une pièce entière sur l'hôte Ansible, alors spécifiez hosts: 127.0.0.1
y connection:local
dans la pièce, par exemple :
- name: a play that runs entirely on the ansible host
hosts: 127.0.0.1
connection: local
tasks:
- name: check out a git repository
git: repo=git://foosball.example.org/path/to/repo.git dest=/local/path
Voir Livres de jeu locaux dans la documentation Ansible pour plus de détails.
Si vous voulez juste exécuter une seule tâche sur votre hôte Ansible, vous pouvez utiliser local_action
pour spécifier qu'une tâche doit être exécutée localement. Par exemple :
- name: an example playbook
hosts: webservers
tasks:
- ...
- name: check out a git repository
local_action: git repo=git://foosball.example.org/path/to/repo.git dest=/local/path
Voir Contrôler le lieu d'exécution des tâches : délégation et actions locales dans la documentation Ansible pour plus de détails.
Edit : Vous pouvez éviter d'avoir à taper connection: local
dans votre jeu en l'ajoutant à votre inventaire :
localhost ansible_connection=local
(Ici, vous utiliserez "localhost" au lieu de "127.0.0.1" pour faire référence à la pièce).
Edit : Dans les nouvelles versions d'ansible, vous n'avez plus besoin d'ajouter la ligne ci-dessus à votre inventaire, ansible suppose qu'elle est déjà là.