有变量的剧本的安全剧本

时间:2015-03-03 14:30:34

标签: variables ansible ansible-playbook

我甚至不确定这是否可行..

我知道你可以有一本调用其他剧本的剧本..

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?

虽然我们在那里..有没有一个很好的主要剧本的例子? (或剧本剧本)

2 个答案:

答案 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,了解角色的使用和结构。