chef

リポジトリの作成 (knife-solo) [#tcf4c5e0]

 $ knife solo init chef-repo <--任意のレポジトリ名
 Creating kitchen...
 Creating knife.rb in kitchen...
 Creating cupboards...

cookbookの作成(knife) [#g514b9df]

リポジトリ配下のsite-cookbooksに個人的に作成したcookbookを配置するのが一般的。

cookbookディレクトリはサードパーティ製のcookbookを配置するらしい。

 $ knife cookbook create cookbook名 -o site-cookbooks
 ** Creating cookbook cookbook名 in /Users/kazuma/vagrant/centos6-1/site-cookbooks
 ** Creating README for cookbook: cookbook名
 ** Creating CHANGELOG for cookbook: cookbook名
 ** Creating metadata for cookbook: cookbook名

cookbookの削除(knife) [#j7d2a5ce]

 $ knife cookbook delete cookbook名 -z
 Do you really want to delete cookbook名 version 0.1.0? (Y/N) Y
 Deleted cookbook[cookbook名 version 0.1.0]

knifeを実行するためのjsonファイルを作成(vagrant) [#tcdf430b]

Vagrantにchefもインストールします。

 $ cd レポジトリ
 $ knife solo prepare ホスト名
 $ vim nodes/ホスト名.json
 {
    "run_list":[
        "recipe[cookbook名]"
    ]
 }

knife soloを実行(vagrant) [#q5129372]

 $ vagrant ssh-config
 この結果をコピー
 $ vim .ssh/config
 上記結果を貼り付ける。Host の後の値は接続するときの名称なので任意で指定可能。
 $ knife solo cook ホスト名