** chef-solo で Hello をだしてみよか [#xbd804ad]
- 簡単に実行できるはずが、windows環境だとはまってしまうというオチに遭遇したのでメモしときます。

*** knife-soloがすんなりインストールできないw [#y5f58eba]
- rubyとdevkitをインストールしたあと、knife-solo(下記のコマンド)を叩くとエラーがでますw
 C:\gem install knife-solo
- そんなときは
 C:\gem update

*** chef-soloが動かない [#u1167d51]
- chef-client を実行するとエラーが沢山でます…涙。
 C:\RubyDevKit>chef-client
 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
 cannot load such file -- ruby-wmi (LoadError)
- 解決の糸口
-- ruby, DevKit を入れなおしてみる。
--- [[「はじめてのRuby on Rails3」サポートページ「DevKitの使い方」>http://supportdoc.net/support-ror3/devkit.html]]
-- gem を updateしてみる
 C:\>gem update
-- ここを見てみる(英語) / [[cannot load such file — ruby-wmi (LoadError) & cannot load such file — win32/service (LoadError)>http://stackoverflow.com/questions/12868121/cannot-load-such-file-ruby-wmi-loaderror-cannot-load-such-file-win32-s]]
-- win32-service をインストールしてみる
 C:\>gem install win32-service
- chef-client を実行すると…正常w

*** "Hello, Chef!"ってやってみる [#t9dd686b]
- ちゃんと「入門chef solo」とおりにやってみるのが一番だと思うのでメモ
- chef-repo 作る
 C:\Users\hoge> gem install knife-solo
 C:\Users\hoge> knife solo init chef-repo
 C:\Users\hoge> cd chef-repo
- hello のクックブックを作成する
 C:\Users\hoge\chef-repo> knife cookbook create hello -o cookbooks
 ** Creating cookbook hello
 ** Creating README for cookbook: hello
 ** Creating CHANGELOG for cookbook: hello
 ** Creating metadata for cookbook: hello
- レシピを編集する(C:\Users\hoge\chef-repo\cookbooks\hello\recipes\default.rb)
 C:\Users\hoge\chef-repo> notepad cookbooks\hello\recipes\default.rb
-- 内容をへんしゅう
 #
 # Cookbook Name:: hello
 # Recipe:: default
 #
 # Copyright 2013, YOUR_COMPANY_NAME
 #
 # All rights reserved - Do Not Redistribute
 #
 log "Hello, Chef!"
- chef-solo レシピを記述するjsonを用意する、\chef-repo の直下でいいらしい
 C:\Users\hoge\chef-repo> notepad localhost.json
-- 内容をへんしゅう
 {
   "run_list" : [
       "recipe[hello]"
   ]
 }
- 環境変数っぽい定義ファイルを作成しとく
 C:\Users\hoge\chef-repo> notepad solo.rb
-- 内容をへんしゅう
 # solo.rb
 # -*- encoding: utf-8 -*-
 file_cache_path File.join(Dir.pwd, 'cache')
 cookbook_path   File.join(Dir.pwd, 'cookbooks')
- さて実行してみる
 C:\Users\hoge\chef-repo> chef-solo -c solo.rb -j localhost.json
 Starting Chef Client, version 11.6.0
 [2013-08-15T23:28:27+09:00] WARN: chef-client doesn't have administrator privile
 ges on node hage. This might cause unexpected resource failures.
 Compiling Cookbooks...
 Converging 1 resources
 Recipe: hello::default
  * log[Hello, Chef!] action write
 
 Chef Client finished, 1 resources updated
- 実は、[0mとか表示されるけど、とりあえずの目的 "Hello, Chef!" がでてればok
 Starting Chef Client, version 11.6.0
 [2013-08-15T23:28:27+09:00] WARN: chef-client doesn't have administrator privile
 ges on node hage. This might cause unexpected resource failures.
 Compiling Cookbooks...
 Converging 1 resources
 Recipe: hello::default
   * log[Hello, Chef!] action write
 
 Chef Client finished, 1 resources updated

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS