在编写和调试 Ansible playbook 时,典型的工作流程如下:

  • ansible-playbook ./main.yaml
  • 剧本在某些任务上失败
  • 修复此任务并重复第 1 行,等待所有先前的任务再次执行。这需要很多时间

  • 理想情况下,我想恢复执行失败的任务,拥有库存和以前任务收集的所有事实。甚至有可能吗?如何使剧本编写/调试更快?

    最佳答案

    看看 Executing playbooks for troubleshooting
    如果您想在特定任务中开始执行您的剧本,您可以使用 --start-at-task 选项执行此操作:

    ansible-playbook playbook.yml --start-at-task="install packages"
    
    以上将在名为“安装包”的任务中开始执行您的剧本。
    或者,看看这个以前的答案 How to run only one task in ansible playbook?
    最后,当一场比赛失败时,它通常会给你一些东西:
    PLAY RECAP ********************************************************************
               to retry, use: --limit @/home/user/site.retry
    
    使用 --limit 命令,它应该从失败的任务中重试。

    关于ansible - 修复剧本中的错误后如何继续执行失败的任务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29900096/

    10-16 23:02