Ansible-发送成功和失败任务的通知

Ansible-发送成功和失败任务的通知,ansible,Ansible,我一直在阅读和测试块模块的错误处理,下面的问题帮助我理解了这个案例。 现在,我想完成的是获得成功任务的通知。 所以最终,我会收到成功和失败任务的通知。 如何在不将每个任务放入专用块模块的情况下完成任务?此外,我曾考虑使用include_任务并在任务上循环,但我不确定这是否正确,并且任务必须按特定顺序执行 那么,我如何正确地编写它,使每个任务既有救援任务,又有成功通知? 另外,如何将任务名称及其输出作为消息传递给处理程序 处理失败任务的伪代码: --- # Event Handling - hos

我一直在阅读和测试块模块的错误处理,下面的问题帮助我理解了这个案例。 现在,我想完成的是获得成功任务的通知。 所以最终,我会收到成功和失败任务的通知。 如何在不将每个任务放入专用块模块的情况下完成任务?此外,我曾考虑使用include_任务并在任务上循环,但我不确定这是否正确,并且任务必须按特定顺序执行

那么,我如何正确地编写它,使每个任务既有救援任务,又有成功通知? 另外,如何将任务名称及其输出作为消息传递给处理程序

处理失败任务的伪代码:

--- # 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 }}"

我还没有完全测试过,但这是我心中的想法。

你能分享一些测试代码吗?是的,我已经把它包括在问题中了。