Div*_*tra 5 ansible ansible-playbook
我正在写一本主要的Ansible剧本,其中包括剧本.现在,我想设置其中指定的所有剧本使用的变量.如何在此剧本中指定变量?我知道其中一个选项是包含vars_files并将其与每个playbook一起使用.示例: - include:abc.yml vars_files:vars.yml
我正在使用Ansible 1.9.3.
首先,我强烈建议您将Ansible更新到最新版本。做到这一点很容易,没有理由留下来。
话虽如此,有很多方法可以在主剧本中指定变量。所有这些都或多或少与任何其他剧本相同。简要提及:
A。在你的剧本中定义它们
- hosts: webservers
vars:
http_port: 80
Run Code Online (Sandbox Code Playgroud)
b. 正如您已经说过的,分成变量文件:
- hosts: all
remote_user: root
vars:
favcolor: blue
vars_files:
- /vars/external_vars.yml
Run Code Online (Sandbox Code Playgroud)
变量/external_vars.yml
somevar: somevalue
password: magic
Run Code Online (Sandbox Code Playgroud)
其他可能性包括:
C。使用事实
d. 将输出注册到变量中
此外,这对您的案例可能很重要:
d. 您可以将变量传递到 include 中:
tasks:
- include: wordpress.yml wp_user=timmy
- include: wordpress.yml wp_user=alice
- include: wordpress.yml wp_user=bob
Run Code Online (Sandbox Code Playgroud)
e. 在命令行中传递变量:
ansible-playbook release.yml -k "version=1.23.45 other_variable=foo"
Run Code Online (Sandbox Code Playgroud)
-k是 的简写--exra-vars。
目前我可能还缺少其他方法。
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |