如何在Ansible中检测库存环境?

时间:2018-01-09 19:11:06

标签: ansible

当我针对production运行部署时,我需要跳过脚本中的一些步骤。

当一个剧本开始时,它总是需要一个环境(-i选项),因此我可以查询信息以区分要采取的步骤。 这让我想问: 如何查询我正在运行剧本的环境?

作为替代方案,我可以提供额外的变量作为-e "env=prod"之类的参数。但这是多余的,因为我已经使用-i ...

指定了环境

另一种选择是设置一个组environment,将此环境的所有主机放在那里,并定义一个名为group_var的{​​{1}}。但是将所有主机放在这个组中是有点过分了。

底线:我可以查询环境吗?还有其他选择我不考虑吗?

1 个答案:

答案 0 :(得分:1)

来自Ansible文档中的Magic Variables

  

同样可用,inventory_dir是持有Ansible库存主机文件的目录的路径名,inventory_file是路径名和指向Ansible库存主机文件的文件名。

使用字符串操作从上面的变量中提取所需的信息(例如,路径中的最后一个段)。