https://gitlab.com/ansible_can/learn4
Handlers kelimeside bence biraz kötü bir tercih, triggers daha güzel olurmuş ama işte böyle yapmışlar.
Şöyle bir task düşünün. Burada değişiklil “apache” adıla kaydediliyor ve daha sonra apache de değişiklik varsa diğer task çalıştırılıyor (trigger 🙂 )
Ama bir playbook içinde birden çok aynı register a değişiklik yapan task varsa ve bunlardan biri bile “no change” (changed_when: false) yapıldıysa o zaman bu trigger çalışmayacaktır.
İşte bu nedenle “handler” kullanıyoruz.
Önce register satırını aşağıd ki gibi değiştiriyoruz.
Sonra “roles/web_servers/” icinde “handlers” adında bir klasör oluşturuyoruz ve içinde “main.yml” dosyasını oluşturuyoruz.
ansible-playbook playbook.yml dediğimizde çıktılar arasından aşağıda ki gibi Handler çalışırsa görebiliyoruz.
Eger handler task da error olsa bile calissin istiyorsak
force_handlers: yes