Ser*_*aev 55 ansible ansible-playbook
在编写和调试Ansible playbooks时,典型的工作流程如下:
ansible-playbook ./main.yaml理想情况下,我希望在失败的任务上恢复执行,拥有库存以及之前任务收集的所有事实.它甚至可能吗?如何让剧本编写/调试更快?
Mxx*_*Mxx 42
请查看http://docs.ansible.com/playbooks_startnstep.html.如果您想在特定任务中开始执行您的剧本,您可以使用以下--start-at-task选项:
ansible-playbook playbook.yml --start-at-task="install packages"
Run Code Online (Sandbox Code Playgroud)
以上将开始在名为"安装包"的任务中执行您的剧本.
或者,看一下之前的答案如何在ansible playbook中只运行一个任务?
最后,当一个游戏失败时,它通常会给你一些东西:
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/user/site.retry
Run Code Online (Sandbox Code Playgroud)
使用该--limit命令,它应该从失败的任务重试.
Seg*_*ted 24
未来的读者:
在--limit @/home/user/site.retry这样的情况下,将不利于.retry只存储出现故障的主机,仅此而已,所以将只执行对故障的主机的所有任务.
如果您使用的是最新版本(Ansible 2.x),--start-at-task则不适用于内部定义的任务roles.
只需使用--step标志即可达到类似效果:ansible-playbook playbook.yml --step.在执行每项任务之前,该步骤会询问您,您可以选择(N)o/(y)es/(c)ontinue.
使用此方法,您可以在需要时有选择地执行任务,并在修复后从失败的位置继续执行.
| 归档时间: |
|
| 查看次数: |
54261 次 |
| 最近记录: |