我知道我们可以为特定主机和特定组提供变量,我将如何在每个库存文件的基础上以惯用方式执行相同操作。
我有dev / staging / prod的3个库存文件。为这些环境设置变量的最佳方法是什么。示例将是舞台本身,要设置为/etc/environment
用于rails,或API密钥等。
此时我每个env有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上运行的配方应尽可能与生产相同。