Ansible et PlayBook.Comment convertir les commandes shell en syntaxe yaml ?
Question
Je suis un débutant dans Ansible et je ne comprends pas comment tout le monde écrit facilement des commandes shell dans la syntaxe Ansible/YAML.Peut-être ai-je manqué une page de la documentation où c'est bien expliqué.
Par exemple:Que dois-je écrire dans mon playbook.yml
si je veux exécuter ces commandes sur mes machines distantes :
sudo apt-get install software-properties-common
sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mariadb.biz.net.id//repo/5.5/ubuntu precise main'
Je pense que ce serait quelque chose comme ça :
- name: install mariadb
apt: ...
sudo: yes
La solution
En tant que commande shell brute modules fera l'affaire pour une traduction simple des scripts bash.Elles aboutiront rarement à des actions idempotentes.Ils ne peuvent pas être exécutés deux fois sans produire des erreurs.
La manière Ansible de procéder consiste à utiliser les modules appropriés, dans votre cas.
Un échantillon pour mariadb
Autres conseils
La réponse est Modules Ansible!) C'est en fait ce dont j'ai besoin.Après une recherche rapide, je pense que mes commandes seront similaires à :
-raw: sudo apt-get install software-properties-common
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
etc..