我正在写一个大师Ansible攻略,其中包括攻略。现在,我想要设置其中指定的所有剧本使用的变量。如何在本攻略中指定变量?我知道其中一个选项是包含vars_files并在每个攻略中使用它。示例:- include: abc.yml vars_files: vars.yml
我使用的是Ansible 1.9.3。
发布于 2016-05-04 16:20:58
首先,我真的推荐你update你的Ansible到最新的版本。这很容易做到,没有理由留下来。
话虽如此,关于如何在主剧本中指定变量,有很多方法。所有这些都或多或少与任何其他攻略相同。简单提一下:
a.在你的攻略中Define它们
- hosts: webservers
vars:
http_port: 80b. Separating到一个变量文件,正如您已经说过的:
- hosts: all
remote_user: root
vars:
favcolor: blue
vars_files:
- /vars/external_vars.ymlvars/外部_vars.yml
somevar: somevalue
password: magic其他可能性包括:
c. Using facts
d. Registering output into variables
此外,这对您的案例可能很重要:
d.你可以pass variables into includes
tasks:
- include: wordpress.yml wp_user=timmy
- include: wordpress.yml wp_user=alice
- include: wordpress.yml wp_user=bobe.传递variables in command line
ansible-playbook release.yml -k "version=1.23.45 other_variable=foo"-k是--exra-vars的缩写。
可能还有其他方式,我可能会错过此时此刻。
https://stackoverflow.com/questions/37021731
复制相似问题