将变量传递给包含的剧本?

问题描述 投票:9回答:3

我想有一个大师剧本,其中包括其他剧本。是否可以将变量传递给包含的剧本?

用于将变量传递给包含任务的常规语法不起作用(参见下文)

- include: someplaybook.yml variable=value

- include: someplaybook.yml
  vars:
    variable: value

我正在运行v2.0.2.0。

ansible ansible-playbook
3个回答
2
投票

另外,我建议你阅读本文,http://docs.ansible.com/ansible/latest/playbooks_reuse.html并尝试在这种情况下使用角色,它会在这样的情况下有所帮助,你试图在一个主要的剧本中包含/导入多个剧本。关于将值传递给include语句,您可以将其添加到角色的vars main.yml中。或者,如果要传递的变量是单个主要playbook中上一个任务的结果,请使用“register”并将输出保存为变量。

- debug: msg="{{result.stdout_lines}}"

这里,结果是注册变量。使用调试模块确切地知道要传递给剧本的内容。希望这可以帮助。


1
投票

我唯一看到的缺少是引用。

- include: someplaybook.yml variable='value'

它适用于我,也应该适合你。如果没有分享你面临的错误。

确保在角色的任务中定义了这个变量“variable”,从这里你只是将值传递给该变量。


0
投票

在ansible 2.4上测试过

- import_playbook: any_playbook.yml variable='value'
© www.soinside.com 2019 - 2024. All rights reserved.