13
私は新しくAnsibleです。いくつかの仮想環境を作成しようとしています(プロジェクトごとに1つ、変数の中で定義されているプロジェクトのリスト)。
タスクは正常に動作しますが、すべてのフォルダを取得できますが、ハンドラは機能しません。仮想環境を持つ各フォルダは初期化されません。ハンドラ内の$ {item}変数は機能しません。 with_itemsを使用するときにハンドラを使用するにはどうすればよいですか?
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}
などの条件
何かではありません!しかし、ディクテーションのリストを反復すると、醜い出力が生成されます。あまりにも悪いwith_itemsはPython式をサポートしていません – Radagast
通知ハンドラを作成し、そこに「with_items:task.results」を配置することもできます。醜い出力が心配なら、 "with_items:"句に渡される内容を制御できます。 "with_items:task.results | selectattr( 'changed')| map(attribute = 'item')| list" "debug:msg = ..."の "item.item"を "item"に変更することを忘れないでください) –