maeshimaの日記

メモ書きです

仮想環境で本番環境と同等の環境を作るHudson と Vagrant

Dr Nic's Making CI easier to do than not to with Hudson CI and Vagrantを見てのメモ。開発環境と本番環境の環境が違って、開発環境だとうまくいくけど本番環境だとエラーみたいなことがよくある→仮想環境 & 自動化で解決!みたいな話。

紹介されてたツール

vagrantとHudsonについて紹介されていた。あとpuppetも軽く。

Vagrant

Vagrant は VitrualBox用の仮想環境を作るのを自動化するツール。あとVMと実環境のディレクトリをリンクしたり。

Hudson

Hudsonは有名なCI(continuous integration)用のツール。とは言えCIってあんまり知らない。調べたところ

CIは,Extreme Programmingに端を発し,Martin Fowlerによって広められた概念で,狭義には,別々に開発された部品を持ち寄ってお互いの動作を検証する「統合テスト」を早い段階から恒常的に行うことを指します。

だそう。エントリ中では、ruby で Hudson を使うための hudson.rb を使ってCLIで操作してた。

大まかな流れ

  1. VirtualBox を入れる
  2. vagrant で仮想環境を作る
  3. puppet でDBやWebサーバ等を入れる
  4. Hudson で Railsアプリを作ってテスト

Hudson だけあんまり必要性を感じないんだけど・・・あとで試さないと何とも。