ローカル検証環境の構築(Vagrant+Chefで)

はじめに

先週やったことに引き続いてChefも使えるようにします。
今週もChef実践入門 の 第2章:Chef Soloによるローカル開発環境の自動構築 に
書いてある事と同じようなことをします。

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

環境

Windows7
Virtualbox 4.3.12 インストール済み
Vagrant_1.3.5 インストール済み

Chef Soloの準備

インストール

下記からインストーラーを取得

chef-windows-11.12.8-2.windows.msi(2014.06.18最新)を実行したら簡単に完了。

確認

コマンドプロンプトで確認。

c:\>chef-solo -v
Chef: 11.12.8

Hello World

とりあえずHello Worldする。

クックブックの作成

knifeコマンドでクックブックを作成します。

c:\>knife cookbook create hello -o c:\cookbooks
WARNING: No knife configuration file found
** Creating cookbook hello
** Creating README for cookbook: hello
** Creating CHANGELOG for cookbook: hello
** Creating metadata for cookbook: hello

f:id:ikechampion:20140618181732p:plain

レシピの編集

C:\cookbooks\hello\recipes\default.rbを編集。

#
# Cookbook Name:: hello
# Recipe:: default
#
# Copyright 2014, YOUR_COMPANY_NAME
#
# All rights reserved - Do Not Redistribute
#
log "Hello World!"

実行

c:\>chef-solo -o hello
…省略…

[2014-06-18T18:33:31+09:00] FATAL: Chef::Exceptions::CookbookNotFound: None of t
he cookbook paths set in Chef::Config[:cookbook_path], ["C:\\chef\\cookbooks", "
C:\\chef\\site-cookbooks"], contain any cookbooks

C:\\chef\\cookbooksかC:\\chef\\site-cookbooksにクックブックがないとだめみたいです。

やりなおす

c:\chef\cookbooksに作り直す

c:\>knife cookbook create hello -o c:\chef\cookbooks
WARNING: No knife configuration file found
** Creating cookbook hello
** Creating README for cookbook: hello
** Creating CHANGELOG for cookbook: hello
** Creating metadata for cookbook: hello

C:\chef\cookbooks\hello\recipes\default.rbを編集。

再実行

できた。

c:\>chef-solo -o hello
…省略…

Compiling Cookbooks...
Converging 1 resources
Recipe: hello::default
  * log[Hello World!] action write

Running handlers:
Running handlers complete
Chef Client finished, 1/1 resources updated in 8.992515 seconds

まとめ

まだVagrantVM作ってChefで設定するという流れができていません。
来週です。