chef - レシピの基礎(1)
一部を変数として使いたい
Attributes を使います。
設定方法は、
以下のように指定します。
もちろんruby の文法が使えます。
attributes/default.rb
default["ruby"]["version"] = "2.1.0"
recipe中で使用するには node オブジェクトで参照します。
recipe/default.rb
package "ruby-#{node["ruby"]["version"]}" do action :install end
ノード毎に違った値を変更したい
node の場合は、JSONファイルで指定します。
{ "default": { "ruby": {"version": "2.0.0-p353"} } }
優先順位は
1) attributes/ 以下で定義した値
2) JSON ファイルで指定した値
となります。
ある条件のとき実行する/させないようにしたい
recipe中で only_if/not_if を使います。
gem_package "rails" do action :install only_if { node["ruby"]["need_rails"] } end
上記の場合、default["ruby"]["need_rails"] が true の場合、
インストールが行われます。

- 作者: Stephen Nelson-smith
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2013/09/04
- メディア: ペーパーバック
- クリック: 12回
- この商品を含むブログを見る