Vagrant をまず使ってみる
最近はソースコードのビルドやテストだけじゃなく、
環境までコマンド一発で作れるようになりつつあるみたいですね。
チームで開発してるとよく聞く「俺の環境では動いた」という名言。
よくよく調べたらMySQLのテーブルを追加しないと動かなくなるような変更入れられてた、とか。
そういうトラブルを解決するための素敵なツール、Vagrant。
#「ベイグラント」と読むらしい
簡単にVMの構築、破棄ができて
設定ファイルにApacheなどのインストールスクリプトも含めることができるらしい。
まずはダウンロード&インストール。
http://downloads.vagrantup.com/
そのあとは作業用のディレクトリ作成&初期化。
mkdir vagrant_getting_started
cd vagrant_getting_started
vagrant init
次にVMのイメージの追加。
vagrant box add precise32 http://files.vagrantup.com/precise32.box
ここでは Ubuntu イメージを precise32 という名前で追加。
Vagrant では VM イメージのことを Box と呼ぶらしい。
その他の VM イメージはこちら参照。
http://www.vagrantbox.es/
作業ディレクトリのVagrantfileが設定ファイルになっている。
このファイルでここで使用するVMイメージを指定。
config.vm.box = "precise32"
これで準備完了。
vagrant up
で起動して、
vagrant ssh
で接続。
作業ディレクトリの中身と、立ち上げた VM の /vagrant の中身が同期しているので
ホストマシンで作業したものを VM に持って行けて便利。
apache などを VM に入れたい場合、
インストールスクリプトを書いたものを
作業ディレクトリに保存したあと("bootstrap.sh" )、設定ファイルに反映する。
config.vm.provision :shell, :path => "bootstrap.sh"
このあと、
vagrant reload
で VM に変更が反映される(インストールされる)。
作業が終わって破棄したくなったら
vagrant destroy
でおしまい。
destroy をすると、VM で行った作業はすべて破棄される。
作業を中断する場合は、
vagrant suspend
か
vagrant halt
を使う。
作業を再会するときは
vagrant up
で。すごい時代だ。