Ansible和Playbook。如何将shell命令转换为yaml语法?
题
我是一个新手,我不明白所有人如何轻松地在ansible / yaml语法中编写shell命令。可能是我从文档中错过了一个页面,其中它被解释得很好。
例如:如果我想在我的远程计算机中执行这些命令,我需要在我的playbook.yml
中写入什么:
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'
.
我认为这将是这样的:
- name: install mariadb
apt: ...
sudo: yes
. 解决方案
作为raw shell命令 modules 将执行Bash脚本的简单翻译技巧。他们很少最终成为空缺行动。它们不能在不产生错误的情况下运行两次。
ansible的方式是使用适当的模块,在您的情况下
- apt_key :添加gpg键
- apt_repository :安装存储库
- apt :安装包
其他提示
答案是 ansible模块!)这实际上是我需要的。 快速搜索后,我认为我的命令将类似于:
-raw: sudo apt-get install software-properties-common
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
etc..
. 不隶属于 StackOverflow