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 を実行してみます。