VCCWのboxを作成してVagrantのプロビジョニング時間を短縮する

なんか最近忙しくて頻繁にプロビジョニングしてるので、時間を短縮するためにboxを作ることにしました。

boxとはAWSでいうAMIのようなもので、VCCWでプロビジョニングしたマシンを保存して再利用することで、大幅にプロビジョニングの時間を短縮することができます。

さらにVCCWのVagrantfileにこのboxを指定しておけば、WordPressのセットアップはVCCW側がうまいことやってくれるので安心です。

実際、一からプロビジョニングする方法だと15分〜20分ほどかかってた時間が、この方法だと2分ほどで完了するようになりました。

boxの作り方

まず、vccwをupしてください。

$ vagrant up

プロビジョニングが完了したら、ゲストマシンにSSHでログイン。

$ vagrant ssh

つぎにvagrant upした時にネットワークインターフェースのエラーが出ないようにするためのおまじない。

この作業は、ゲストマシン側でやること。くれぐれも間違えないようにね。

$ sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules

ゲストマシンからログアウトしてから、ホストマシン側で以下のコマンドを実行。

$ vagrant package --output ~/vccw.box

最後にVagrantにboxとして登録してください。

$ vagrant box add vccw ~/vccw.box

boxの使い方

このboxを使ってVCCWをプロビジョニングするには、VCCW内のVagrantfile.sampleをVagrantfileというファイル名に変えてから、以下の行を修正してboxの名前をvccwに変更するだけです。

VM_BOX               = "vccw" # for 32bit

あとはいつもどおりvagrant upしてください。

VCCWをいろいろカスタマイズしたい&Chefよくわかんないって人は、vagrant packageの前にカスタマイズして、それをboxとして保存すれば簡単ですよ。