include_tasks
多次的一种方法是循环数字范围,直到达到所需的数字。但是,正如您所期望的“父”剧本不会多次运行,任务文件将是。
考虑下面的例子:
通过我的主要剧本parent.yml
,我想运行tasks1.yml
多次(如 中所定义set_fact
)。
tasks:
- set_fact:
num: 1
req_num: 4
- include_tasks: tasks1.yml
loop: "{{ range(num, req_num + 1)|list }}"
在我的 中tasks1.yml
,我有一个简单的debug
信息:
- debug:
msg: "Run {{ item }}"
包括tasks1.yml
4 次,并在我运行时给出以下输出ansible-playbook parent.yml
:
TASK [include_tasks] ******************************************************************************************************************************************************************
included: /home/user/tasks1.yml for localhost
included: /home/user/tasks1.yml for localhost
included: /home/user/tasks1.yml for localhost
included: /home/user/tasks1.yml for localhost
TASK [debug] **************************************************************************************************************************************************************************
ok: [localhost] =>
msg: Run 1
TASK [debug] **************************************************************************************************************************************************************************
ok: [localhost] =>
msg: Run 2
# ...goes till "Run 4"