私はwith_items:
と似たようなものを探していますが、そのファイルをプレイブックファイルに含めるのではなく、ファイルからアイテムのリストを取得します。ファイル内の各行を安全な方法でループするにはどうすればよいですか?
私はこれをどのようにしてできるのですか?
私はwith_items:
と似たようなものを探していますが、そのファイルをプレイブックファイルに含めるのではなく、ファイルからアイテムのリストを取得します。ファイル内の各行を安全な方法でループするにはどうすればよいですか?
私はこれをどのようにしてできるのですか?
あなたは
item 1
item 2
item 3
のようなファイルがあり、これらはitems.Simply register.Andがwith_items
ために、この変数を使用して使用して変数にファイルの内容を取得し、インストールしたいとしましょう。ファイルに1行に1つの項目があることを確認します。
---
- hosts: your-host
remote_user: your-remote_user
tasks:
- name: get the file contents
command: cat /path/to/your/file
register: my_items
- name: install these items
pip: name:{{item}}
with_items: my_items.stdout_lines
私は簡単な代替手段を見つけることができた:
- debug: msg="{{item}}"
with_lines: cat files/branches.txt
リモートでコマンドを実行すると動作しません:http://docs.ansible.com/ansible/playbooks_loops.html#iterating-over-the-results-of-a-program-execution – Fadi
私は誰もansible Lookupsを述べていないことを驚いて、私はそれが正確に何をしたいと思います。
それはあなたがあなたの脚本で使用したい けど(脚本内 からファイル、パイプ、 CSV、 のRedis 、ローカル制御マシンからなどがない含めたくない内容を読み取りほとんどの場合、これらのコンテンツはあなたのローカルマシン上のあなたのプレイブックのそばにあるので、それは重要です)、それは不可能なループで動作します。ここ
---
- hosts: localhost
gather_facts: no
tasks:
- name: Loop over lines in a file
debug:
var: item
with_lines: cat "./files/lines"
with_lines
コードhereを参照してください、lines
検索がどのように動作するかを確認するために、実際にライン・ルックアップとループで、それはちょうどあなたがそれを与える任意のコマンドを実行します(そう、あなたはそれをエコーのような任意のものを与えることができ、猫など)、をに分割して出力し、それを返します。
包括的なリストを得るには、多くの強力な検索があります。lookup plugins folderをチェックしてください。
これは、リモートでコマンドを実行する:http://docs.ansible.com/ansible/playbooks_loops.html#iterating-over-the-results-of-a-program-execution – Fadi
あなたのリストのための変数を別々のファイルに作成し、 'with_items'で変数を使用するのはなぜですか? – frank
私は、1行に1つのテキストファイルが必要であることを明確に述べました。このファイルは外部で生成されるので、*なぜ*必要なのですか? – sorin
私は自分の答えを削除しました。小さな誤解 – frank