Ansible - 如何为每个主机顺序执行playbook

时间:2014-12-05 12:00:53

标签: ansible ansible-playbook

我使用ansible编写API的部署脚本。我希望这可以顺序通过我的库存文件中的每个主机,这样我就可以一次完全部署到一台机器上。

使用out框行为,我的playbook中的每个任务都会在清单文件中为每个主机执行,然后再继续执行下一个任务。

如何在启动下一个主机之前更改此行为以执行主机的所有任务?理想情况下,我想只有一本剧本。

由于

3 个答案:

答案 0 :(得分:67)

仔细查看Rolling Updates

您要搜索的是

- hosts: webservers
  serial: 1
  tasks:
    - name: ...

答案 1 :(得分:0)

策略使每个主机可以并行执行任务。参见https://docs.ansible.com/ansible/latest/user_guide/playbooks_strategies.html

共有3种策略:线性(默认),串行,免费(最快)

- hosts: all
  strategy: free
  tasks:
    ...

答案 2 :(得分:0)

使用--forks = 1指定要使用的并行进程数(默认为5)