Ansible:有没有办法使用或传递ansible vars到我正在部署的bash脚本?

时间:2016-04-22 01:49:49

标签: bash ansible pam

我正在攻击一个Ansible解决方案,将一个notify.sh bash脚本部署为pam.d / pam_exec配置的一部分。

该脚本使用了一堆变量,我被告知需要将它们作为单独的yml文件的一部分(以便其他人可以更改或更新它们),而不是直接在脚本中定义,这就是我通常使用的做。

我构建了vars文件,我在其中定义了脚本应该在运行时使用的变量。

现在我的问题是我希望能够从我正在部署的bash脚本中以标准格式{{my_variable}}访问ansible变量。

这甚至可能吗?如果不可能,您在安装后将变量插入脚本的建议是什么?

我有一种感觉我接近答案,但是scowering Ansible帮助文件尚未产生任何效果。

我唯一想到的就是使用lineinfile模块在已经安装后更新shell脚本,但我觉得这可能有点太hacky了,这里可能有一个更优雅的解决方案。

我感谢任何和所有答案。

1 个答案:

答案 0 :(得分:3)

当然 - / vars / main.yml中的任何内容都可自动使用,或者您可以使用http://docs.ansible.com/ansible/include_vars_module.html加载自定义文件。然后,使用模板并像这样部署脚本:

 template:
    src: script_template.j2
    dest: "path/notifiy.sh"
    mode: 700