ChefでOS Xの環境セットアップする
tcnksm/chef-dev-env をつくった.以下のことができる.
- Homebrewパッケージのインストール
- dmgパッケージのインストール
- rubygemsのインストール
- dotfilesのインストールとセットアップ
OS X特有のレシピだとDockの設定とかできそうだけど,得にデフォで問題ないからやってない. ここまできたら,AppStoreからのダウンロードもできたらなと思う.
インストール対象のパッケージはdata_bugsを使うといろいろ分けてすっきり書けた. 作業してて,これ使うなーと思ったらここにどんどん貯めていく感じで.
#data_bags/packages/homebrew.json
{
"id": "homebrew",
"targets": [
"tig",
"coreutils",
"go",
....
]
}
で,後は以下のようにrecipeから呼び出して一気にインストール.
item = data_bag_item(:packages, "homebrew")
Ubuntuでの開発もやったりするからnode追加して,Ubuntu用も作る予定.
Chefの勉強のために始めた.こうやって自分の環境をコード的に作っていくのすごい楽しかった.
Chefの基礎と各ディレクトリの役割とかは“入門Chef Solo - Infrastructure as Code”を読んでほとんど理解できた.ChefをつかったOS Xのセットアップに関しては以下を参考にした.