我甚至不确定这是否可行..
我知道你可以有一本调用其他剧本的剧本..
IE:
---
# MasterPlaybook.yml
- include: playbook1.yml
when: some_var == "true"
- include: playbook2.yml
when: someother_var == "true"
如果我调用MasterPlaybook.yml并传入Vars,这将有效。
但我想要包含其他yml的变量 例如,这里是myvars.yml
some_var: "true"
someother_var: "false"
Other_var: "Foo"
所以,如果我想将它包含在playbook1.yml中,我只需添加..
---
- name: Script Play use variables to get and push out the code
hosts: somegroup
remote_user: "some user"
vars:
url: 'The url of the build'
buildNumber: 'the build number'
jobName: 'passed in job name'
vars_files:
- ~/myvars.yml
serial: 1
它将拉入变种..
我的问题是如何在masterplaybook.yml中执行此操作,以便我不必传入vars?
虽然我们在那里..有没有一个很好的主要剧本的例子? (或剧本剧本)
答案 0 :(得分:4)
您可以将vars指定为include语句的一部分。这就是我为我的一些项目所做的事情。
---
- include: playbook1.yml
vars:
some_var: "true"
someother_var: "false"
Other_var: "Foo"
when: some_var == "true"
- include: playbook2.yml
when: someother_var == "true"
答案 1 :(得分:2)
在ansible中查看角色。对于剧本和剧本的剧本来说,它们是一种更有条理的方式。概念。在那里你可以在" master"中定义全局变量。子剧本http://docs.ansible.com/playbooks_roles.html中的剧本和变量。
您还可以查看example playbooks,了解角色的使用和结构。