首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期执行“Ansible Playbook”

定期执行“Ansible Playbook”
EN

Stack Overflow用户
提问于 2019-01-11 22:01:21
回答 1查看 1.7K关注 0票数 1

我有一个Ansible Playbook myPlayBook.yml。它有两个剧本,每个剧本都有一个或多个任务。

我使用下面的命令来运行我的剧本:

代码语言:javascript
复制
ansible-playbook myPlayBook.yml

所以每件事都没问题,我的任务也成功地执行了。现在,在第一次运行之后,我想再次从第一次运行我的剧本(类似于第一次运行,但自动)。有办法吗?

(我看到它可以用于特定的任务,也可以与includeinclude_tasks一起玩,但是对于一个剧本来说呢?)

EN

回答 1

Stack Overflow用户

发布于 2019-01-12 07:13:33

现在,在第一次运行之后,我想再次从第一次运行我的剧本(类似于第一次运行,但自动)。

您可以将任务形成为角色,并通过角色多次从剧本执行任务:

代码语言:javascript
复制
- name: 'Include role'
  include_role:
    name: '{{ app_role}}'
代码语言:javascript
复制
- debug:
    msg: "{{ inventory_hostname }}"

通过以下路径 roles/inventory_role创建角色,该角色由任务组成。从剧本中,您可以执行角色,只需多次调用它:

代码语言:javascript
复制
- name: 'Include role inventory_role'
  include_role:
    name: 'inventory_role'

- name: 'Include role inventory_role'
  include_role:
    name: 'inventory_role'

或者你可以用这样的东西:

代码语言:javascript
复制
- { role: 'inventory_role' }
- { role: 'inventory_role' }

备注

Ansible只允许一个角色执行一次,即使定义了多次,如果在角色上定义的参数对每个定义没有区别的话。

有关更多细节,请参见:角色复制和执行

定期执行“Ansible Playbook”

Ansible Tower有计划启动类型的作业。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54154616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档