Chef-soloでMacのパッケージをインストールする際に、MacPortsではなくhomebrewを使いたい

Pocket

最近Web業界ウォッチしてるとDevOps絶好調で、一応ひと通り押さえとかなくちゃということで、以下をやっています。
[http://tatsu-zine.com/books/chef-solo:title]

Mac上でやってるのですが、例えばZshをインストールしようとするとき、

  * package[zsh] action install
================================================================================
Error executing action `install` on resource 'package[zsh]'
================================================================================


Errno::ENOENT
-------------
No such file or directory - port


Resource Declaration:
---------------------
# In /Users/yuichi/work/chef/chef-repo/cookbooks/hello/recipes/default.rb

 11: package "zsh" do
 12: 	action :install
 13: end



Compiled Resource:
------------------
# Declared in /Users/yuichi/work/chef/chef-repo/cookbooks/hello/recipes/default.rb:11:in `from_file'

package("zsh") do
  action [:install]
  retries 0
  retry_delay 2
  package_name "zsh"
  cookbook_name :hello
  recipe_name "default"
end



[2013-07-25T17:35:46+09:00] ERROR: Running exception handlers
[2013-07-25T17:35:46+09:00] ERROR: Exception handlers complete
[2013-07-25T17:35:46+09:00] FATAL: Stacktrace dumped to /tmp/chef-solo/chef-stacktrace.out
Chef Client failed. 1 resources updated
[2013-07-25T17:35:46+09:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

のような感じで瞬殺されてしまいました。。。どうやらMacPorts前提でインストールを試みているご様子。私のMac機は、パッケージシステムにhomebrewを採用しているので、これでZshをインストールするように設定してみます。

* 1. homebrew用のcookbookをリポジトリのクックブック内に放り込む

以下のURLにて、homebrew利用のためのcookbookが公開されているようなので、これを使わせてもらいます。
[https://github.com/opscode-cookbooks/homebrew:title]

/Users/yuichi/work/chef/chef-repo/cookbooks% git clone https://github.com/opscode-cookbooks/homebrew.git

* 2. 設定の記述 (レシピ実行のjsonファイル)

まず、先ほどcloneしたクックブックを実行するようにjsonファイルに記述します

// localhost.json
{
	"run_list" : [
		"recipe[hello]",
		"recipe[homebrew]"
	]
}

これで大丈夫です。ちなみにhomebrewのupdateとかも自動で行われます。

* 参考
[http://memo.elkc.net/?p=88:title]

投稿者紹介

箕輪 優一
株式会社ユニキャスト 執行役員 大学在学中より勤務し、2012年4月より現職。 「エンジニアの魂を持ったビジネスマンであること」をモットーとして、日々奮闘しています。 / はてなプロフィール - http://www.hatena.ne.jp/yminowa/ / 個人ブログ - http://blog.mino3.com/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください