makotan _at_ gmail dot com

chef-solo & Windows & gitを使わない インストール

手順の流れは

  1. chef-clientをダウンロードしてインストールする
  2. chefのルートのディレクトリを決める。ただし、solo用
  3. その中にキャッシュのファイルとかrepoとかcookbook(repoの中)を用意して
  4. cookbookの中にrecipeを用意する
  5. recipeを使うためのファイルを用意して、chef-soloコマンドを叩けば成功!

となる予定。
他のrecipeを使いたければ自作するかダウンロードして同じように使えばOK

chef clientのダウンロード

http://www.opscode.com/chef/install/
windows
chef-client 11.4.0 ファイルサイズ60M
ダウンロード開始

この間に決めること
chefのルートディレクト
とりあえず、c:\chef と仮定して以降記述


インストーラをダウンロードしたところの隣にnextなリンクがあるのでそっちに行く
http://wiki.opscode.com/display/chef/Installation
インストールマニュアル!
http://wiki.opscode.com/display/chef/Installing+Chef+Client+on+Windows
後半はnot chef-soloなのでこっちを見る
http://wiki.opscode.com/display/chef/Chef+Solo

chef-soloの設定ファイル用ディレクトリを用意

mkdir solo
cd solo

以降soloディレクトリでコマンドを実行

chef-soloの環境定義のファイルを用意

homeディレクトリに
solo.rb ファイルを作成する

コマンドプロンプト

notepad solo.rb

もしくは任意のエディタでsolo.rbを作る

中身は

file_cache_path "c://chef/cache"
cookbook_path "c://chef/chef-solo/cookbooks"

chef-soloのrunlist(?)を用意

runlistに書いてるrecipeが実行される
コマンドプロンプト

notepad chef_handler.json

もしくは任意のエディタでchef_handler.jsonを作る

中身は

{
  "run_list": [ "recipe[chef_handler]" ]
}

ちなみに、これはあとで試しにインストールする時に必要になるファイル

chefのローカルリポジトリを用意する

https://github.com/opscode/chef-repo
ここからzipをダウンロード
chef-repo-master.zip
c://chef/chef-solo/という名前で解凍するか中身をコピペする

結果的にディレクトリ構造としてこの構造が存在していることを確認する
c:/chef/chef-solo/cookbook

gitを使う場合はここでcloneすればOK

試しにchef-soloでインストールしてみる

chef_handlerを用意する
https://github.com/opscode-cookbooks/chef_handler
ここからzipをダウンロード
c:/chef/chef-solo/cookbook ここにchef_handlerディレクトリとして解凍する
ディレクトリ構造としては C:\chef\chef-solo\cookbooks\chef_handler こんな感じになっている

gitを使う場合はここでcloneしてもOK


runlistのファイルを作った場所でコマンドプロンプトからchf-soloをテスト起動する

chef-solo -W -c solo.rb -j chef_handler.json

エラーが無ければ-Wを消して実行すれば実行される

chef-solo -c solo.rb -j chef_handler.json


これでwindowsのchef-solo環境はとりあえず完成!
あとは好きなrecipeをダウンロードしたりできるはず(一部誇張)