我是 Ansible 的新手,我不明白为什么所有人都能轻松地用 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
最佳答案
作为原始 shell 命令 modules将完成 bash 脚本的简单翻译。它们很少会以幂等行为告终。它们不能在不产生错误的情况下运行两次。
执行此操作的 Ansible 方法是根据您的情况使用适当的模块
- > apt_key : 添加 gpg key
- > apt_repository : 安装存储库
- > apt : 安装包
mariadb 的示例
关于ubuntu - Ansible 和剧本。如何将 shell 命令转换为 yaml 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005290/