...
Recipe をより柔軟に記述できるようになり、Cookbook の再利用性があがります。
Attribute
...
に値を指定する方法
Attibute の指定方法はプロビジョニングの方法により異なります。
...
※ knife での運用はしていないので、間違っているかもしれません。
何を Attribute にするか
Cookbook の設計によりけりですが、たいていの場合は次の項目は Attribute にすることが多いです。
- アプリケーションのアーカイブやパッケージの URL
- アプリケーションのアーカイブやパッケージのバージョン
- アプリケーションをインストールするユーザー
- アプリケーションのインストール先
デフォルト値を決める
Attribute にはデフォルト値をあらかじめ指定しておくことができます。
Attribute のデフォルト値は専用のファイルに記述します。
このファイルは chef generate attribute コマンドで生成できます。
コード ブロック |
---|
chef generate attribute ./ default |
これで ./attributes ディレクトリに default.rb という名前でファイルが生成されます。
このファイルに、以下のようにデフォルト値を定義します。
コード ブロック | ||
---|---|---|
| ||
default[‘application’][‘version’] = ‘1.0.0’ |
Attribute の値を Recipe で使用する
Recipe から Attribute の値を参照するには、node オブジェクトを使用します。
...
の値を参照するには、node オブジェクトを使用します。
例えば、Kitchen で次のように Attribute を指定したときは、
コード ブロック | ||
---|---|---|
| ||
attributes:
application:
version: '2.0.0' Column | |
Recipe
...
では次のように値を参照します。
コード ブロック | ||
---|---|---|
| ||
application_version = node[‘application’][‘version’] # application_version == '2.0.0' |
Attribute にデフォルト値を設定する
Attribute には、値が指定されなかった場合のデフォルト値をあらかじめ指定しておくことができます。
...
jenkins Cookbook を Attribute に対応させる
何を Attribute にするか
Cookbook の設計次第で何を Attribute にするかは変わりますが、今回は次の項目を Attribute にしてみましょう。
...