これを含む複数のドキュメントを読んで、GitHubで複数のansibleロールをチェックしましたが、変数を定義するタイミングと、変数を配置する場所(つまりdefaults
、tasks
またはvars
ディレクトリ)を定義するタイミングがわかりません。
変数が必要かどうか、それがどこに置くべきかを考えるのに多くの時間を費やす必要がないように、ガイドラインを受け取りたいと思います。
sensu_host: localhost
sensu_home: /etc/sensu
sensu_conf_d: "{{ sensu_home }}/conf.d"
- name: be sure {{ item }} is installed
apt:
name: "{{ item }}"
state: latest
with_items:
- build-essential
- ntp
または、項目を変数で定義する必要があります。
- name: be sure {{ item }} is installed
apt:
name: "{{ item }}"
state: latest
with_items:
{{ packages }}
__sensu_repo_url: deb http://sensu.global.ssl.fastly.net/apt sensu main
__sensu_repo_key_url: http://sensu.global.ssl.fastly.net/apt/pubkey.gp
特定のチェックリストはありますか、例えば
a、b、cの場合、変数はデフォルトで宣言する必要があります
d、e、fの場合、v
g、h、iの場合、タスクで定義します
╔═══════════╦═════════════════╗
║ directory ║ characteristics ║
╠═══════════╬═════════════════╣
║ defaults ║ constants, e.g. ║
║ tasks ║ bla, e.g. ║
║ vars ║ variables ║
╚═══════════╩═════════════════╝
@techraf質問が更新されました。パッケージを変数として定義するのではなく、タスクに入れる例です
—
-030
あなたは2つのことを混ぜていると思います。を使用して、タスクで変数を定義できます
—
テクラフ
set_fact
。さて、すでに広範に渡る質問「変数はどこで定義されるべきですか?」「変数を使用する必要がありますか?」Ansibleは、協調的でオープンな、弾力性のあるプロジェクトです。変数を定義するための16の場所が時間とともに進化したという事実は、さまざまなユーザーとさまざまなアプローチのニーズのためです。解決したい問題に応じて、さまざまなツールを使用して「唯一の方法」はありません。