在剧本中进行更改时,Ansible Handlers 不会触发

Ansible Handlers not firing when change is made in playbook

大家好,我有一系列处理程序,我想仅在安装了应用程序时才触发,但它们似乎没有触发。

这是我的 roles/tills/tasks/main.yml

- name: Install Dynamic Retail
  win_package:
    path: 'C:\Soft\common\Dynamic Retail 2009\Dynamic Retail 2009 Setup.msi'
    arguments: /QUIET
    creates_path: C:\Program Files\Dynamic Retail 2009 for Microsoft Dynamics NAV Client\Dynavics.DynamicRetail.dll
    notify: Copy Dynamics DLL

这是我的 roles/tills/handlers/main.yml

---
- name: Copy Dynamics DLL
  win_copy:
    src: C:\Soft\common\Dynamic Retail 2009\Dynavics.DynamicRetail.dll
    dest: C:\Program Files\Dynamic Retail 2009 for Microsoft Dynamics NAV Client\Dynavics.DynamicRetail.dll
    remote_src: True
    notify: Copy Dynamics TLB

- name: Copy Dynamics TLB
  win_copy:
    src: C:\Soft\common\Dynamic Retail 2009\Dynavics.DynamicRetail.tlb
    dest: C:\Program Files\Dynamic Retail 2009 for Microsoft Dynamics NAV Client\Dynavics.DynamicRetail.tlb
    remote_src: True
    notify: Register Dynamic Retail DLLs

- name: Register Dynamic Retail DLLs
  win_command: C:\Soft\common\RegisterDR.bat

我确定我错过了一些基本的东西,但我似乎无法弄清楚是什么?

我认为您遇到了缩进问题:

- name: Install Dynamic Retail
  win_package:
    path: 'C:\Soft\common\Dynamic Retail 2009\Dynamic Retail 2009 Setup.msi'
    arguments: /QUIET
    creates_path: C:\Program Files\Dynamic Retail 2009 for Microsoft Dynamics NAV Client\Dynavics.DynamicRetail.dll
  notify: Copy Dynamics DLL

('notify'应该与win_package内联,否则会被解释为win_package模块的参数,而不是运行win_package的任务)