正确的build模方式,使执行顺序正确 – Ansible

  1. 我希望在一个组中的所有机器上完成4个任务。
  2. 一旦完成所有的机器,任务5必须在一台机器上运行(假设这是一个数据库实例)。
  3. 任务5完成后,任务6到10将在同一组中的所有机器上运行。

目前我正在考虑如下(解决scheme#1):

  1. 第1点剧本
  2. 等待playbook 1完成,然后手动运行Playbook for Point 2
  3. 2完成后运行Playbook 3。

另一种方法(解决scheme#2)是:

一个有3个项目的剧本 – 如下: - hosts: groupA tasks: 1...4 - hosts: dbinstance tasks: 5 - hosts: groupA tasks: 6...10

SE社区能否帮助我validation上述两种方法的正确性,如果有的话build议更好?

您可以使用, delegate_towhen: {{hostvars[inventory_hostname}} == "YOUR HOST"