...
コード ブロック |
---|
$ cd workspace $ chef generate cookbook <Cookbook 名> |
- Cookbook 名: jenkins
生成されたもの
コマンドを実行すると、以下のファイルが作成されます。
- .kitchen.yml
Kitchen の設定ファイル
テスト用のインスタンスや実行するプロビジョニングの設定を記述
- Berksfile
Berksfile Berkshelf の設定ファイル
Kitchen でプロビジョニングを行うときの依存する でプロビジョニングを行うときの依存する Cookbook を記述
- README.md
Cookbook の説明書
- chefignore
ChefClient に転送しないファイルを定義
- metadata.rb
Cookbook の基本情報を記述
- recipes/default.rb
Cookbook がデフォルトで実行する Redipeデフォルトで実行する Recipe
Eclipse プロジェクトに変換
Cookbook を編集するうえで、Eclipse が特に有利になる点はありません。
現時点で RHEL 系の日本語環境で比較的マシに利用できるのが Eclipse だっただけです。
好みのエディタで編集してください。
.project
...
を生成
スクリプトを実行し .project を生成します。
コード ブロック |
---|
$ cd <Cookbook 名> $ gen-eclipse |
Eclipse で .project をインポートします。
ヒント | |||||
---|---|---|---|---|---|
gen-eclipse は、.project を生成する自作スクリプトです。 手動で作成する場合は、以下のような内容となります。手動で作成する場合、.project は以下のような内容です。
|
...
プロジェクトをインポート
次の手順でプロジェクトをインポートします。Eclipse を起動し、次の手順でプロジェクトをインポートします。
Column | ||
---|---|---|
| ||
File -> Import...
General -> Existing Projects into Workspace Next
「/home/vagrant/workspace/<Cookbook 名>」を追加 Finish |
...
Package Explorer に隠しファイルも表示させる
標準では .kitchen.yml が見えないので、次の手順で隠しファイルを表示します。
Column | ||
---|---|---|
| ||
Package Explorer の ▽ を選択 -> Filters… 「.*resources」のチェックを外す OK |
...
Chef では、サーバーのあるべき状態を Recipe(ソースコード)として記述します。
Recipe は「ファイルのダウンロード」や「コマンドの実行」など、さまざまな機能をもつ Resource で構成されています。たとえば、 以下の Recipe は 「bash により “/tmp” ディレクトリで “tar から構成されます。
Resource は Chef 公式のものだけで40種類以上ありますが、基本的な構文はどれも同じで、
次のように、ユニークな name をもち、1つ以上の attribute によりパラメータを指定でき、実行時の動作を action で指定します。
コード ブロック |
---|
resource "name" do
attributeA "valueA"
attributeB "valueB"
action :action
end |
次の Recipe は「'/tmp' ディレクトリで、 'tar zxf archive.tar.gz” というスクリプトを実行する “extract tar file” という名前の Resource」 を定義したものです。gz' というスクリプトを、bash で実行する、'extract tar file' という名前の Resource」を定義したものです。
コード ブロック |
---|
bashbash “extract'extract tar file”file' do cwd “'/tmp”tmp' code “tar'tar zxf archive.tar.gz”gz' action :run end |
ここでは Chef 標準の “bash” という Resource の :run という bash Resource をベースに、cwd attribute に実行時のディレクトリを、code attribute に実行するスクリプトを指定し、
Resource の実行時にスクリプトが実行されるように :run を指定
や code 'extract tar file' という name を付けの :run という Action を呼び出すように定義していて、“cwd” や ”code” という Attribute により Action 実行時のパラメータを指定しています。
指定できる Action や Attribute は Resource ごとに異なるので、Chef のドキュメントを確認してください。
bash Resource であれば [ http://docs.opscode.com/resource_bash.html ] です。
...