Anisble:从属性文件读取变量

时间:2019-02-14 14:03:36

标签: ansible ansible-2.x

我正在尝试将一些shell脚本转换为可播放的剧本。 在Shell脚本中,有许多变量是从一个单独的属性文件中读取的,在这些文件中定义了这些变量。 是否有一些模块或其他方式可以做到这一点。例如, 如果在属性文件中 $ WORKDIR = / opt / app已定义,在ansible剧本中,我想调用某个模块,例如, 复制:   src:/ tmp / app   目标:$ WORKDIR /

有没有办法做到这一点?

谢谢

2 个答案:

答案 0 :(得分:0)

是的,在清单中是我们定义主机名或ips以及变量的文件。

无论何时执行Ansible剧本,我们都会使用--inventory清单---->传递文件,这是传递清单文件的默认方式

剧本将获取此文件,并且可以使用其中定义的所有变量。

在这种情况下,使用{{WORKDIR}}

进行变量替换

还有其他将变量传递到剧本的方法。

例如 -include_vars -使用角色 -在剧本中定义var。 -额外的变种

答案 1 :(得分:0)

使用lookupdoc

示例:
{{ lookup('ini', 'user.name type=properties file=user.properties') }}

  • user.name,您要阅读的属性键
  • user.properties,您要读取的属性文件