概要
odokumi とは
- git の ローカルコミットを hook して cookbook や manifest をテストする為の統合テスト環境w
- CI ツールには altria を利用
- 仮想マシンには LXC を利用
- 詳しくは ここ で
基本的な流れ
基本的な流れは chef のテストと同じ。差分だけをメモ。
git の hook スクリプト
altria が実行するシェルスクリプト
LXC コンテナの準備
こちらを参考にして puppet 3 系をインストール。一点だけ注意するならば.../etc/resolv.conf
に domain hoge.com
の設定が無い場合、以下のような warning
が出てウザいので注意する。
warning: Could not retrieve fact fqdn
ということで、テスト用のコンテナの /etc/resolv.conf` は以下のように記述しておく。
domain inokara.com nameserver yyy.yyy.yyy.yyy
デモ
manifest を書いて git commit する
以下のように manifest を書いて test.pp として保存。
notice("hogehoge")
おもむろに git commit
すると...
hook スクリプトを使って altria に job を post する。
成功
とりあえず成功。赤線のように結果が表示されている。
失敗
ちょっとしたシンタックスエラー(括弧の閉じ忘れ)で commit すると...
ビルドは失敗してエラー内容が赤線のように表示される。
ということで
- もう少しちゃんと hook スクリプトを書ければ、個人的にはそれなりに使えるかもしれないと思う
- chef でも puppet でもほぼ同じ感覚でテスト出来るがお気に入り(個人比)
- 次は Ansible でやるかな