Ansible için yeni ve birçok sanal ortam (her proje için bir değişkende tanımlanmış projelerin listesi) oluşturmaya çalışıyorum.
Görev iyi çalışıyor, tüm klasörleri aldım, ancak işleyici çalışmaz, sanal ortama sahip her klasörü başlatmaz. İşleyicideki $ {item} varialbe çalışmıyor. Ben_items ile kullandığımda bir işleyiciyi nasıl kullanabilirim?
tasks:
- name: create virtual env for all projects ${projects}
file: state=directory path=${virtualenvs_dir}/${item}
with_items: ${projects}
notify: deploy virtual env
handlers:
- name: deploy virtual env
command: virtualenv ${virtualenvs_dir}/${item}
gibi bir extratask + koşullu
Something değil! Fakat dicts listesinde yinelenen çirkin bir çıktı üretir. Çok kötü with_items python ifadelerini desteklemiyor – Radagast
Ayrıca bir bildirim işleyicisi oluşturabilir ve orada "with_items: task.results" yazabilirsiniz. Çirkin çıktı hakkında endişeleriniz varsa, "with_items:" cümlesine neyin geçtiğini kontrol edebilirsiniz: "with_items: task.results | selectattr ('changed') | map (attribute = 'item') | list" (ve "item.item" öğesini "debug: msg = ..." içindeki "item" olarak değiştirmeyi unutmayın. –