ne zaman fıkra etiketleri varlığını değerlendiremez. Geçici bir çözüm olarak, bu etikete / değişkene özgü görevleri çalıştırmak için değişkenleri ve etiketleri birlikte kullanırım.
Ör: Bir oyun kitabı ve envanter hayal edin
# envanter
[Dev]
192.168.1.1
# site.yml
- ev sahibi: dev
roller:
- {role: common}
ve ortak / görevler / main.yml
# roles / common / tasks / main.yaml
- name: Bağlantıları yükle
apt: name = links durum = mevcut
- dahil: uninstall.yml
when: uninstall_links tanımlandı
etiketler:
- kaldırma
# roles / common / tasks / uninstall.yml
- isim: Bağlantıları kaldır
apt: name = links durum = yok
Bu yaklaşımla, etiketi uninstall.yml içindeki yalnızca görevleri seçmek için kullanırsınız, ancak bunu etkinleştirmek için 'uninstall_links' değişkenini de ayarlamanız gerekir. Eğer playbook'u herhangi bir parametre olmadan çalıştırırsanız, varsayılan olarak kurulum görevini çalıştıracaktır. Kaldırma işlemi için 'uninstall' etiketini oynatma kitabınıza (veya cmdline) ayarlayabilir ve ZORUNLU değişkeni ayarlayabilirsiniz. Etiketi ayarlamazsanız, bu sırayla her şeyi (yükleme ve kaldırma) çalıştıracaktır, bu işlemin tamamını test etmek için iyidir.
Her şey nasıl çalıştırılır (kurulur ve kaldırılır):
$ ansible-playbook -i inventory site.yml -l dev -s -k -e "uninstall_links=true"
Dev grubundaki sadece 'uninstall' etiketi nasıl çalıştırılır
$ ansible-playbook -i inventory site.yml -l dev -s -k -e "uninstall_links=true" -t uninstall
Bu nedenle, değişkenler ve etiketler ayrıca site.yml / envanter dosyalarında da olabilir, bu da SCM'nize girmenize ve niyetinizi kaydetmenize olanak sağlar.