在主Ansible playbook中指定变量

时间:2016-05-04 07:56:27

标签: ansible ansible-playbook

我正在写一本主要的Ansible剧本,其中包括剧本。现在,我想设置其中指定的所有剧本使用的变量。如何在此剧本中指定变量? 我知道其中一个选项是包含vars_files并将其与每个playbook一起使用。示例: - include:abc.yml                          vars_files:vars.yml

我正在使用Ansible 1.9.3。

1 个答案:

答案 0 :(得分:3)

首先,我真的建议你update将你的Ansible发布到最新版本。这样做很容易,没有理由留下来。

话虽如此,有很多方法可以指定主游戏手册中的变量。所有这些与其他任何剧本大致相同。简单地说:

一个。 Define他们在你的剧本本身

- hosts: webservers
  vars:
    http_port: 80

湾正如您已经说过的那样Separating到变量文件中:

- hosts: all
  remote_user: root
  vars:
    favcolor: blue
  vars_files:
    - /vars/external_vars.yml

乏/ external_vars.yml

somevar: somevalue
password: magic

其他可能性包括:

℃。 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=bob

即通过variables in command line

ansible-playbook release.yml -k "version=1.23.45 other_variable=foo"

-k--exra-vars的缩写。

目前我可能还有其他方法可能会失踪。