gpt4 book ai didi

ansible - 如何在之前的失败之后始终运行一些 ansible 角色?

转载 作者:行者123 更新时间:2023-12-02 15:36:04 24 4
gpt4 key购买 nike

我有一套看起来像的剧本

- name: Run test
hosts: tester
roles:
- { role: setup_repos }
- { role: setup_environment }
- { role: install_packages }
- { role: run_tests }
- { role: collect_logs }

当前的问题是,在前 4 个角色中,我们都有 ignore_errors: true 这不是一个好的做法,因为它使得读取输出和调试变得非常困难。

ignore_errors被滥用的唯一原因是我们希望能够在最后执行collect_logs,无论结果如何。

我们如何重构它以删除ignore_errors并拥有更多的快速失败策略。

请注意,我们有很多 playbook 调用collect_logs 角色,因此“在 playbook 中移动代码”并不是真正重用它的方法。

最佳答案

在 ansible 2.4 或更高版本上,应将 role: block 替换为 role_includerole_import 等任务,这使您能够使用正常的任务使用的逻辑。您可以使用处理程序、ignore_errors 等。

关于ansible - 如何在之前的失败之后始终运行一些 ansible 角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com