问题描述
编写和调试Ansible剧本时,典型的工作流程如下:
When writing and debugging Ansible playbooks, typical workflow is as follows:
-
ansible-playbook ./main.yaml
- Playbook无法完成某些任务
- 修复此任务并重复第1行,等待所有先前的任务再次执行.这需要很多时间
理想情况下,我想继续执行失败的任务,并收集库存和以前任务收集的所有事实.可能吗?如何使剧本的编写/调试速度更快?
Ideally, i'd like to resume execution on failed task, having inventory and all facts collected by previous tasks. Is it even possible? How to make playbook writing/debugging faster?
推荐答案
看看 http://docs.ansible.com/playbooks_startnstep.html .如果要开始执行特定任务的剧本,可以使用--start-at-task
选项:
Take a look at http://docs.ansible.com/playbooks_startnstep.html.If you want to start executing your playbook at a particular task, you can do so with the --start-at-task
option:
ansible-playbook playbook.yml --start-at-task="install packages"
上面的代码将在名为安装程序包" 的任务上开始执行您的剧本.
The above will start executing your playbook at a task named "install packages".
或者,看看前面的答案如何在ansible剧本中只执行一项任务?
Alternatively, take a look at this previous answer How to run only one task in ansible playbook?
最后,当播放失败时,通常会为您提供以下内容:
Finally, when a play fails, it usually gives you something along the lines of:
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/user/site.retry
使用该--limit
命令,它应该从失败的任务中重试.
Use that --limit
command and it should retry from the failed task.
这篇关于修正Playbook中的错误后,如何继续执行失败的任务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!