概要
- chef の cookbook を git で管理している前提でローカル cookbook テスト環境が作れないか考えている
- 既に test-kitchen という Opscode が提供するフレームワークがあるが、より汎用的な環境が作れないか考えてみる
考察
使うツール
使うツールとしては...
- CI 環境として
altria
- 仮想ホストとして
LXC
- 基本的には
Chef
でもAnsible
でもイケるように
処理の流れ
前提
あらかじめ altria
のジョブに LXC
コンテナを起動して knife solo prepare
を叩いて knife colo cook
までを実行するジョブを登録しておく。
実際の流れ
- git commit
- git の hook command で
altria
に登録された job を起動 - 結果を待つ
- テストが通ったら git push でリモートのリポジトリに登録する
みたいな感じ。
要調査と確認
git
- ローカル commit で hook スクリプトを実行出来るか?
altria
- API でコントロール出来るか再確認
LXC
- IP を取得出来るか?
うまくいくんかいな
- うまくいくんかいな