ubuntu - Ansible 和剧本。如何将 shell 命令转换为 yaml 语法?

标签 ubuntu syntax yaml vagrant ansible

我是 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 方法是根据您的情况使用适当的模块

mariadb 的示例

关于ubuntu - Ansible 和剧本。如何将 shell 命令转换为 yaml 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005290/

相关文章:

php - 无法通过php脚本连接到mysql,但可以在LAMP UBUNTU中登录phpmyadmin

ubuntu - 如何从 zsh 终端终止在端口中运行的进程

linux - 登录后自动运行 Bash 脚本以同步 Git 存储库

java - Java语法允许随机数组吗?

C函数语法,参数类型在参数列表之后声明

json - 简单的结构化数据(INI、YAML、JSON 等)编辑器应用程序

macos - ansible-playbook -> ControlPath 太长

mysql - 无法在 Docker 中运行 MariaDB

Lazarus Pascal 过程的语法规则 "Units"

xml - 使用 Ruby 和 Hpricot 将 xml 转换为 yaml - 这里出了什么问题?