Blog

Vagrantがとうとう正式版に

 2012/03/11
このエントリーをはてなブックマークに追加

自動化の強い味方であるVagrantが先日とうとうバージョン1.0.0の正式版になりました。

VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアです。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができます。仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがあります。 例えばVagrantはNokiaやYammer等での開発にも使われています。

僕の場合だと、VagrantとChef Soloを使ってVagrantのインスタンス作成時に必要なミドルウェアのインストールやインスタンスの設定を自動で行い、後はCapistranoを使ってアプリケーションをデプロイするという使い方をしており、これによって10分くらいで全てが設定済の開発環境を入手できるようにしています。これによって例えば新しい開発メンバーが加わった際には素早く開発にジョインしてもらうことができますし(いちいちDVDからインストールして個別に設定するといった行為は時間のムダかつ正しく行えない可能性が大きい)、移行作業に関する試験や環境の大規模な変更やアップグレードの試験等も気兼ねなく行うことができます。

今回1.0になる上で、内部のAPIの見直し等が行われました。今後はAPIの変更の際は基本的に後方互換性を保つとのことですが、逆にいうと今まで0.9系までの間に色々な人によって作られたプラグインの中には動作しないものありますのでご注意ください。

動作を確認したもの

今後徐々にアップデートされると思いますが、プラグインの利用が必須な方はバージョンアップについては注意すると良いと思います。また0.9系とそれ以前のバージョンではVagrantファイルの書き方が変わっていますが、1.0系ではVagrantファイルの書き方には変更はありません。

なお、Vagrantで利用するインスタンスのひな形(box)の一覧を取得するvagrantboxesというプラグインがありますが、こちらについては僕の方で1.0.0対応したものをgithubにおいておきました。(こちら

git clone https://github.com/ryuzee/ruby-vagrantboxes
cd ruby-vagrantboxes
rake build
sudo vagrant gem install pkg/vagrantboxes-0.0.2.gem

としてインストールし、インストール完了後に

sudo vagrant vagrantboxes search

とすれば利用可能なboxの一覧が表示されます。

 2012/03/11
このエントリーをはてなブックマークに追加