- name: "API"
hosts: api
vars:
platform: "{{ application.api }}"
vars_files:
- vars/application-vars.yml
tasks:
- include: tasks/application-install.yml
- name: "JOBS"
hosts: jobs
vars:
platform: "{{ application.jobs }}"
vars_files:
- vars/application-vars.yml
tasks:
- include: tasks/application-install.yml
像之前描述的那样的playbook,我可以在并行方式的同时在差异主机上执行这个差异任务吗?
答案 0 :(得分:1)
不确定你真正想要什么,但我将它合并为单人游戏:
- hosts: api:jobs
tasks:
- include: tasks/application-install.yml
将组变量添加到广告资源中:
[api:vars]
platform="{{ application.api }}"
[jobs:vars]
platform="{{ application.jobs }}"
这样您就可以同时在所有主机上运行您的Playbook,并且您也可以使用--limit
选项仅选择api
或jobs
组。
答案 1 :(得分:0)
您可以使用“ansible-playbook [OPTIONS] *.yml”命令运行更多剧本。这将不以并行方式执行所有剧本,而是以串行方式执行,因此首先执行一个剧本,然后执行另一个剧本。如果您有很多剧本,此命令会很有帮助。
我不知道并行执行更多剧本的方法。