Vagrant で個人的に必須なプラグイン

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

先に Vagrant の使いどころ・考えどころ を見ると良いかもです。

先に列挙します。 Vagrant 1.6.5 時点で入れたやつなので、すぐに変わる可能性ありです。

  • vagrant-omnibus (1.4.1)
  • vagrant-vbguest (0.10.0)
  • sahara (0.0.17)
  • vagrant-dnsmasq (0.1.1)
  • landrush (0.18.0)

初回の vagrant up に重宝するプラグイン

https://github.com/chef/vagrant-omnibus

box ファイルを起動する際に、Chef が入っていなかったらインストールしてくれるプラグインです。 以下のように指定しておけば常に最新版を入れてくれます。

Vagrant.configure("2") do |config|
  # ------------------------------ #
  # plugin settings
  # see: vagrant plugin list
  # ------------------------------ #

  # 中略

  if defined? config.omnibus
    config.omnibus.chef_version = :latest
  end

  # 中略

end

ちなみに、Vagrant のプラグインのインストールは vagrant のサブコマンドから出来ます。

vagrant plugin install --help

https://github.com/dotless-de/vagrant-vbguest

VirtualBox + Vagrant で使っているので、仮想 OS は VirtualBox が用意してくれているわけですが、 VirtualBox での利用をより便利にするために、GuestAddition をインストールします。

Guest Additions 自体の説明は、以下のページが分かりやすいかもしれません。

http://vboxmania.net/content/guest-additions%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

ただ、この Guest Additions と VirtualBox 自体のバージョンに差異があったりすると、 vagrant up がうまくいかないケースが出てきます。 Guest Additions が予め入った box ファイルでも、 VirtualBox 自体のバージョンを上げた際にうまく合わずにエラーが出るケースがあるので、 その辺の調整を行ってくれるプラグインを導入しました。

Vagrant.configure("2") do |config|
  # ------------------------------ #
  # plugin settings
  # see: vagrant plugin list
  # ------------------------------ #

  # 中略
  unless defined? config.vbguest
    require "vagrant-vbguest"
  end
  config.vbguest.auto_update = true

  # 中略

end

これを入れる前はその辺の細かなバージョンの差異に悩まされることが多かったのですが、 導入後は意識しないくらいスムーズになりました。感謝しています。

レシピを繰り返し適用するときに重宝するプラグイン

https://github.com/jedi4ever/sahara

過去に Vagrant に仮想マシンのスナップショットがとれる sahara というプラグインを入れた で書いてたのですが、未だに使ってます。

Vagrant の使いどころ・考えどころ でも書いたのですが、Vagrantfile にレシピを書かない方針で進めているので、初回の vagrant up は、仮想マシンの起動と最低限の設定のみになっているはずです。

その段階で一度スナップショットを取る癖をつけておくと、いつでもクリーンな状態にすぐ戻せるのでレシピを書くのがはかどります。

vagrant sandbox on [vm_machine_name]

開発時のサブドメインの名前解決に重宝するプラグイン

正直なところ、この辺りは時間が出来たらちょっと見直したいところなのですが、 今のままでも全然問題なく使えています。 (欲を言えば、他の VM からも設定なしで名前解決できるようにしたい・・・)

https://github.com/mattes/vagrant-dnsmasq

landrush というプラグインも、以下の記事を読んで試してみたのですがなかなか便利でした。

vagrant up すると .dev ローカルドメインを設定してくれる Landrush が便利な話

開発用の名前解決なので、名前の解決さえできればそれほど望むことは多くなく、 hosts ファイルを直接編集してくれる vagrant-hostsupdater でも事足りるかもしれません。

その他

Vagrant Manager という、GUI で Vagrant の状態管理ができるツールがあるので、試しに使ってみています。 近い将来、GUI だけで使うとどうなるか?みたいなところで上手く使えたらいいなと思っています。

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

もし記事内に誤りなどございましたら、 @girigiribauer @girigiribauer.com までご一報いただけると助かります。

Related articles