VagrantとVirtualBoxを使えば、Webアプリケーションの環境構築のフローの検証が簡単になります。失敗したら一度捨てて、簡単にやり直せるからです。
VagrantとVirtualBoxで簡単に仮想環境の一発構築!
とはいえ、やり直しをするのに、仮想環境を全部捨ててゼロからやるのでは少し大変です。
そこでsaharaプラグイン
そこでVagrantのsaharaプラグインが使えます。
jedi4ever/sahara
これはVagrantにsandboxモードの概念を追加するもので、仮想環境への変更をロールバックできるようになります。
saharaのインストールと起動
インストールはコマンド一発です。
vagrant plugin install sahara
saharaを利用するときは、sandboxモードにします。
vagrant sandbox on
これでロールバックできる状態になります。
変更を加えてしてロールバックしてみる
試しにサンドボックスモードにして、ログインしてテキトーなファイルを置いてみます。
$ vagrant ssh
Last login: Tue Jun 24 02:53:43 2014 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ touch empty
[vagrant@localhost ~]$ ls -lah empty
-rw-rw-r-- 1 vagrant vagrant 0 6月 26 11:54 2014 empty
これでemptyというファイルが作成されました。
ここでおもむろにrollbackを実行します。
vagrant sandbox rollback
数秒待って完了。
あらためてログインすると、作ったファイルがなくなっています!
$ vagrant ssh
Last login: Mon Jun 23 22:57:34 2014 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ ls -lah empty
ls: cannot access empty: そのようなファイルやディレクトリはありません
ちなみに、変更を適用する場合は、commitを。
vagrant sandbox commit
サンドボックスモードを終了する場合は、offを指定します。
vagrant sandbox off
これで、Chefのレシピの検証も楽らくです!