Ansible y libro de jugadas.¿Cómo convertir los comandos de shell en la sintaxis de YAML?
Pregunta
Soy un novato en Ansible y no entiendo cómo todas las personas escriben fácilmente los comandos de shell en la sintaxis ansible / yaml.Puede ser extrañado una página de la documentación donde se explica bien.
Por ejemplo: ¿Qué necesito escribir en mi playbook.yml
si quiero realizar estos comandos en mis máquinas remotas:
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'
creo que sería algo como esto:
- name: install mariadb
apt: ...
sudo: yes
Solución
Como comando RAW Shell módulos hará el truco para la traducción simple de scripts de bash.Rara vez terminarán siendo acciones ideantotentes.No se pueden ejecutar dos veces sin producir errores.
La forma ansiable de hacer esto es usar los módulos apropiados, en su caso
- apt_key : agregue la tecla GPG
- apt_repository : instale el repositorio
- apt : Instale el paquete
Una muestra para mariadb
Otros consejos
La respuesta es ¡Módulos ansibles !) Esto es en realidad lo que necesito. Después de la búsqueda rápida, creo que mis comandos serán similares a:
-raw: sudo apt-get install software-properties-common
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
etc..