我想有一个大师剧本,其中包括其他剧本。是否可以将变量传递给包含的剧本?
用于将变量传递给包含任务的常规语法不起作用(参见下文)
- include: someplaybook.yml variable=value
和
- include: someplaybook.yml
vars:
variable: value
我正在运行v2.0.2.0。
另外,我建议你阅读本文,http://docs.ansible.com/ansible/latest/playbooks_reuse.html并尝试在这种情况下使用角色,它会在这样的情况下有所帮助,你试图在一个主要的剧本中包含/导入多个剧本。关于将值传递给include语句,您可以将其添加到角色的vars main.yml中。或者,如果要传递的变量是单个主要playbook中上一个任务的结果,请使用“register”并将输出保存为变量。
- debug: msg="{{result.stdout_lines}}"
这里,结果是注册变量。使用调试模块确切地知道要传递给剧本的内容。希望这可以帮助。
我唯一看到的缺少是引用。
- include: someplaybook.yml variable='value'
它适用于我,也应该适合你。如果没有分享你面临的错误。
确保在角色的任务中定义了这个变量“variable”,从这里你只是将值传递给该变量。
在ansible 2.4上测试过
- import_playbook: any_playbook.yml variable='value'