ページ ツリー

比較バージョン

キー

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

...

Section
Column

Resource

Resource はプロビジョニング先の "ある部分" の "あるべき状態" を宣言的に定義する DSL です。
各 Resource にはユニークな名前を指定する必要があり、それがプロビジョニング先の ”どの部分か” を表しています。
そして、Resource の do ~ end ブロックに ”あるべき状態” を定義します。(ResourceType によって定義できる内容は異なります。)

Chef でのプロビジョニングは、Resource があるべき状態に収束されることを意味します。

Recipe

Recipe は Resource を記述するためのファイルです。
Ruby のコードをそのまま使って Resource を定義できます。 

Recipe に定義した Resource はプロビジョニングの実行時に解釈され、収束するべき Resource がキューイングされます。 
基本的に、Resource は Recipe に定義した順でキューイングされます。
Recipe に書いた Ruby コードは Resource が収束されるときでなく、キューイングされるときに実行されることに注意してください。 

Cookbook

Cookbook は Recipe を意味のある単位で取りまとめたものです。
Cookbook は複数の環境で使いまわすことができ、たいていの場合はインストールするアプリケーションやサービス単位で作成されます。 

Cookbook も名前で管理されるので、ユニークで、かつ内容を表す名前をつけましょう。

Column

 

 

Cookbook をつくる

Cookbook のディレクトリ構成

パス概要
recipes/Cookbook の Recipe を置きます。
attributes/Recipe で Attribute を使う場合、ここにデフォルト値を定義するファイルを置きます。
templates/Recipe で Template を使う場合、ここに置きます。
filesRecipe で File を使う場合、ここに置きます。
metadata.rbCookbook の名前やバージョン、依存関係などの情報を記述します。
BerksfileCookbook の依存する Cookbook を定義します。
README.mdCookbook の README を記述します。
.kitchen.ymlCookbook のテスト環境を定義します。

 

Cookbook のひな形の生成

まずは Cookbook を作成しましょう。 

...

12

Package Explorer の ▽ を選択 -> Filters…

 「.*resources」のチェックを外す
OK



Recipe

...

を書く

 

 

chef generate cookbook コマンドを実行すると、./recipes/default.rb というファイルができていると思います。
Cook 

 

Recipe とは

Chef では、サーバーのあるべき状態を Recipe(ソースコード)として記述します。
Recipe は「ファイルのダウンロード」や「コマンドの実行」など、さまざまな機能をもつ Resource から構成されます。

...