Ansible vars处于库存文件级别

时间:2014-10-05 11:20:13

标签: environment-variables ansible ansible-playbook

我知道我们可以为特定主机和特定组提供变量,我将如何在每个库存文件的基础上以惯用方式执行相同操作。

我有dev / staging / prod的3个库存文件。为这些环境设置变量的最佳方法是什么。示例将是舞台本身,要设置为/etc/environment用于rails,或API密钥等。

此时我每个env有1个主机,所以我可以将其设置为主机变量,但最终我无法扩展它...所以我认为必须有更好的方法?

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,您不确定如何对主机进行分组,并将变量(可能还有任务)应用于组。

看看group_vars and host_vars。这非常适合覆盖默认值。这是一个例子:

group_vars/all:
MAX_MEMORY = 16gb

group_vars/dev
MAX_MEMORY = 2gb

或者,您可以放置​​" group variables"在您的主机文件中。

一般来说,我建议有一本剧本;您在dev / QA / production上运行的配方应尽可能与生产相同。