我有一个Ansible Playbook myPlayBook.yml。它有两个剧本,每个剧本都有一个或多个任务。
我使用下面的命令来运行我的剧本:
ansible-playbook myPlayBook.yml所以每件事都没问题,我的任务也成功地执行了。现在,在第一次运行之后,我想再次从第一次运行我的剧本(类似于第一次运行,但自动)。有办法吗?
(我看到它可以用于特定的任务,也可以与include或include_tasks一起玩,但是对于一个剧本来说呢?)
发布于 2019-01-12 07:13:33
现在,在第一次运行之后,我想再次从第一次运行我的剧本(类似于第一次运行,但自动)。
您可以将任务形成为角色,并通过角色多次从剧本执行任务:
- name: 'Include role'
include_role:
name: '{{ app_role}}'- debug:
msg: "{{ inventory_hostname }}"通过以下路径 roles/inventory_role创建角色,该角色由一任务组成。从剧本中,您可以执行角色,只需多次调用它:
- name: 'Include role inventory_role'
include_role:
name: 'inventory_role'
- name: 'Include role inventory_role'
include_role:
name: 'inventory_role'或者你可以用这样的东西:
- { role: 'inventory_role' }
- { role: 'inventory_role' }备注:
Ansible只允许一个角色执行一次,即使定义了多次,如果在角色上定义的参数对每个定义没有区别的话。
有关更多细节,请参见:角色复制和执行。
定期执行“Ansible Playbook”
Ansible Tower有计划启动类型的作业。
https://stackoverflow.com/questions/54154616
复制相似问题