Commandes CLI principales d’Ansible.


ansible-playbook — exécuter un playbook

ansible-playbook -i inventory.ini playbook.yml
 
# Options utiles
ansible-playbook -i inventory.ini playbook.yml --check      # dry-run, n'applique rien
ansible-playbook -i inventory.ini playbook.yml --diff       # affiche les diffs de fichiers modifiés
ansible-playbook -i inventory.ini playbook.yml --limit web  # cible un sous-groupe
ansible-playbook -i inventory.ini playbook.yml --tags config
ansible-playbook -i inventory.ini playbook.yml -e "health_agent_port=9090"

ansible — commande ad-hoc

Exécute un module unique, sans playbook — pratique pour une vérification ponctuelle.

ansible web -i inventory.ini -m ping
ansible web -i inventory.ini -m ansible.builtin.apt -a "name=curl state=present" --become

ansible-galaxy — gérer les dépendances

ansible-galaxy install geerlingguy.postgresql      # installe un role publié
ansible-galaxy collection install google.cloud     # installe une collection (modules/plugins)
ansible-galaxy init roles/mon-role                 # génère l'arborescence standard d'un role

ansible-vault — chiffrer des secrets

ansible-vault create secrets.yml          # créer un fichier chiffré
ansible-vault edit secrets.yml            # éditer un fichier chiffré existant
ansible-playbook playbook.yml --ask-vault-pass

Permet de committer des variables sensibles (mots de passe, tokens) dans le dépôt sans les exposer en clair.


ansible-inventory — inspecter l’inventaire

ansible-inventory -i inventory.ini --list
ansible-inventory -i inventory.ini --graph

Intégration Packer — pas de commande CLI directe

Dans le projet, aucune de ces commandes n’est lancée à la main : le provisioner ansible de Packer appelle ansible-playbook en interne contre la VM temporaire, inventaire et connexion générés automatiquement.

provisioner "ansible" {
  playbook_file = "${path.root}/ansible/playbook.yml"
  user          = "packer"
}

En relation avec