Chef-solo の設定¶
Chef-solo をインストールすると、 chef-solo
コマンドが使えるようになります。
ただし、現時点では何も設定していないので、以下のようにエラーが発生して終了します。
まずは Chef-solo を動作させるために必要な設定をしましょう。
Chef リポジトリの作成¶
Chef で使用するファイルは、ソースコードのようにバージョン管理することが推奨されています。 このチュートリアルでは Git でバージョン管理します。
Hint
ディレクトリは任意の場所で構いません。このチュートリアルでは、 C:\chef-repo
にリポジトリを作成します。以降は自分のディレクトリに読み替えてください。
GitHub for Windows を起動して、 add
ボタンをクリックします。
以下のように入力して、 create
ボタンをクリックします。
- リポジトリ名 :
chef-repo
- 説明 :
chef-solo repository
- ディレクトリ :
C:\chef-repo
(右の…
ボタンをクリックして、C:\
を選択します)
現時点のディレクトリは以下のようになっているはずです。
まだリポジトリを作成しただけでコミットしてないので、コミットしておきましょう。 GitHub for Windows で作成したリポジトリを選択します。
最初のコミットなので、コミットメッセージとして Init
を入力します。これは好きなメッセージで構いません。
リポジトリの作成は以上です。
solo.rb¶
Chef-solo の設定は C:\chef-repo\solo.rb
に記述します。
最低限必要なのは file_cache_path
と cookbook_path
です。
以下のように記述しましょう。
1 2 | file_cache_path File.join(Dir.pwd, 'cache')
cookbook_path File.join(Dir.pwd, 'cookbooks')
|
以上で Chef-solo の設定は終わりですが、 Windows 向けにもう少し設定を続けましょう。
Windows 用 Resource 有効化¶
参考リンクにもあるとおり、 Windows にはパッケージマネージャーがありません。それを補う Resource を有効化するため、 opscode が公開している recipe から Cookbook をダウンロードしましょう。
- opscode-cookbooks/chef_handler · GitHub
- opscode-cookbooks/windows · GitHub
- opscode-cookbooks/powershell · GitHub
ダウンロードした ZIP を解凍してできた chef_handler
と windows
を C:\chef-repo\cookbooks
に移動します。
次にこの Cookbook / Recipe を使うような設定ファイル win_default.json
を作成します。
1 2 3 | cd C:\chef-repo
echo >> win_default.json
notepad.exe win_default.json
|
win_default.json
は以下のように記述します。
1 2 3 4 5 | {
"run_list" : [
"recipe[windows]"
]
}
|
管理者権限でコマンドプロンプトを立上げ、 Chef-solo を実行しましょう。以下 Chef-solo 実行時は同様に管理者権限で実行してください。
1 2 | cd C:\chef-repo
chef-solo -c solo.rb -j win_default.json
|
これで準備完了です。この状態の Chef リポジトリを忘れずにコミットしておきましょう。
次は実際に Recipe を実行してみます。