Ansible e manual.Como converter comandos shell em sintaxe yaml?
Pergunta
Sou um novato em Ansible e não entendo como todas as pessoas escrevem facilmente comandos shell na sintaxe Ansible/YAML.Talvez eu tenha perdido uma página da documentação onde está bem explicado.
Por exemplo:O que preciso escrever no meu playbook.yml
se eu quiser executar estes comandos em minhas 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'
Acho que seria algo assim:
- name: install mariadb
apt: ...
sudo: yes
Solução
Como comando shell bruto módulos fará o truque para a tradução simples de scripts bash.Raramente acabarão sendo ações idempotentes.Eles não podem ser executados duas vezes sem produzir erros.
A maneira Ansible de fazer isso é usar os módulos apropriados, no seu caso
- apt_key :adicione a chave gpg
- apt_repositório :instale o repositório
- apto :instale o pacote
Uma amostra para mariadb
Outras dicas
A resposta é Módulos Ansible!) Isso é realmente o que eu preciso.Após uma pesquisa rápida, acho que meus comandos serão semelhantes a:
-raw: sudo apt-get install software-properties-common
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
etc..