ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

Recipe をより柔軟に記述できるようになり、Cookbook の再利用性があがります。


Attribute

...

に値を指定する方法

Attibute の指定方法はプロビジョニングの方法により異なります。

...

※ knife での運用はしていないので、間違っているかもしれません。



何を Attribute にするか

Cookbook の設計によりけりですが、たいていの場合は次の項目は Attribute にすることが多いです。

  • アプリケーションのアーカイブやパッケージの URL
  • アプリケーションのアーカイブやパッケージのバージョン
  • アプリケーションをインストールするユーザー
  • アプリケーションのインストール先


デフォルト値を決める

Attribute にはデフォルト値をあらかじめ指定しておくことができます。

Attribute のデフォルト値は専用のファイルに記述します。
このファイルは chef generate attribute コマンドで生成できます。

コード ブロック
chef generate attribute ./ default

これで ./attributes ディレクトリに default.rb という名前でファイルが生成されます。

このファイルに、以下のようにデフォルト値を定義します。

コード ブロック
title./attributes/default.rb
default[‘application’][‘version’] = ‘1.0.0’



 

Attribute の値を Recipe で使用する

Recipe から Attribute の値を参照するには、node オブジェクトを使用します。

...

の値を参照するには、node オブジェクトを使用します。

例えば、Kitchen で次のように Attribute を指定したときは、

コード ブロック
title.kitchen.yml
attributes:
  application:
    version: '2.0.0'
Column

Recipe

...

では次のように値を参照します。

コード ブロック
title./recipes/default.rb
application_version = node[‘application’][‘version’]
 
# application_version == '2.0.0'

 

Attribute にデフォルト値を設定する

Attribute には、値が指定されなかった場合のデフォルト値をあらかじめ指定しておくことができます。

...

jenkins Cookbook を Attribute に対応させる

何を Attribute にするか

Cookbook の設計次第で何を Attribute にするかは変わりますが、今回は次の項目を Attribute にしてみましょう。 

...