Ansible-发送成功和失败任务的通知
我一直在阅读和测试块模块的错误处理,下面的问题帮助我理解了这个案例。 现在,我想完成的是获得成功任务的通知。 所以最终,我会收到成功和失败任务的通知。 如何在不将每个任务放入专用块模块的情况下完成任务?此外,我曾考虑使用include_任务并在任务上循环,但我不确定这是否正确,并且任务必须按特定顺序执行 那么,我如何正确地编写它,使每个任务既有救援任务,又有成功通知? 另外,如何将任务名称及其输出作为消息传递给处理程序 处理失败任务的伪代码:Ansible-发送成功和失败任务的通知,ansible,Ansible,我一直在阅读和测试块模块的错误处理,下面的问题帮助我理解了这个案例。 现在,我想完成的是获得成功任务的通知。 所以最终,我会收到成功和失败任务的通知。 如何在不将每个任务放入专用块模块的情况下完成任务?此外,我曾考虑使用include_任务并在任务上循环,但我不确定这是否正确,并且任务必须按特定顺序执行 那么,我如何正确地编写它,使每个任务既有救援任务,又有成功通知? 另外,如何将任务名称及其输出作为消息传递给处理程序 处理失败任务的伪代码: --- # Event Handling - hos
--- # Event Handling
- hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Installing packages
block:
- command1
- command2
- command3
notify: Success Handler
rescue:
- name: Sending alerts
notify: Failed task
handlers:
- name: Success Handler
debug:
msg: "task {{ task_id$ }} was success"
- name: Failed task
debug:
msg: "task {{ task_id$ }} failed, the error was {{ task_id: failed results }}""
提前感谢。您几乎给出了解决方案。为什么不创建一个导入剧本或甚至一个角色,并用
{{with_items}}
按顺序传递命令呢
比如:
然后在role/tasks/main.yml中
- name: Installing packages
block:
- "{{ taskvalue }}"
notify: Success Handler
rescue:
- name: Sending alerts
notify: Failed task
- name: Success Handler
debug:
msg: "task {{ taskvalue }} was success"
- name: Failed task
debug:
msg: "task {{ taskvalue }} failed, the error was {{ taskvalue: failed results }}"
和role/handlers/main.yml
- name: Installing packages
block:
- "{{ taskvalue }}"
notify: Success Handler
rescue:
- name: Sending alerts
notify: Failed task
- name: Success Handler
debug:
msg: "task {{ taskvalue }} was success"
- name: Failed task
debug:
msg: "task {{ taskvalue }} failed, the error was {{ taskvalue: failed results }}"
我还没有完全测试过,但这是我心中的想法。你能分享一些测试代码吗?是的,我已经把它包括在问题中了。