Vagrant で仮想マシンを構築する(7) Vagrant プラグイン

Vagrant プラグイン関連のコマンドメモと、便利だと思ったプラグインのまとめです。
プロバイダは VirtualBox です。

プラグイン関連コマンド

  • インストール
$ vagrant plugin install %plugin name%
  • アンインストール
$ vagrant plugin uninstall %plugin name%
  • アップデート
$ vagrant plugin update %plugin name%
$ vagrant plugin list

便利なプラグイン

公開されているプラグイン

sahara

仮想マシンの sandbox モードを有効にするプラグインです。
sandbox モード内で実行した操作はロールバックできるので、ミドルウェアのテストなどに使用できます。

  • インストール
$ vagrant plugin install sahara
  • sandbox モード有効化
$ vagrant sandbox on
$ vagrant sandbox status
[default] Sandbox mode is on

sandbox モード有効化以降の操作は、ロールバック可能です。

$ vagrant sandbox rollback

仮想マシンで実施した変更はロールバックされます。

  • コミット

sandbox モードで実施した変更を反映させるには、コミットを行います。

$ vagrant sandbox commit
  • sandbox モード無効化
$ vagrant sandbox off
$ vagrant sandbox status
[default] Sandbox mode is off

sandbox off でも変更内容がコミットされます。
sandbox モードでの変更内容を破棄したい場合は、"vagrant sandbox rollback" -> "vagrant sandbox off" を実行します。
jedi4ever/sahara · GitHub

vagrant-vbox-snapshot

仮想マシンのスナップショットを取得できるプラグインです。
sahara が作業時の一時的なスナップショットに対して、こちらはポイント毎にスナップショットを取得する場合に使用します。

  • インストール
$ vagrant plugin install vagrant-vbox-snapshot
  • スナップショット取得
$ vagrant snapshot take %snapshot name%
  • 直前のスナップショットを復元
$ vagrant snapshot back
  • 指定したスナップショットを復元
$ vagrant snapshot go %snapshot name%
  • スナップショット削除
$ vagrant snapshot delete %snapshot name%
  • スナップショット一覧
$ vagrant snapshot list
Listing snapshots for 'default':
Name: %snapshot name% (UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) 

dergachev/vagrant-vbox-snapshot · GitHub

vagrant-global-status

ホスト内の仮想マシンのステータスを一覧表示してくれるプラグインです。
プラグインインストール後から起動した仮想マシンが表示されるようになるので、一番最初にインストールしたいプラグインです。

  • インストール
$ vagrant plugin install vagrant-global-status
$ vagrant global-status -a
/path/to/vagrant/vagrant_example02
  default      running      (virtualbox)   2015-01-03 00:25:29 +0900

/path/to/vagrant/vagrant_example01
  default      poweroff     (virtualbox)   2015-01-03 00:26:42 +0900

fgrehm/vagrant-global-status · GitHub

vagrant-omnibus

仮想マシン起動時に、chef client の存在チェックや指定したバージョンをインストールしてくれるプラグインです。

  • インストール
$ vagrant plugin install vagrant-omnibus
  • 設定
Vagrant.configure(2) do |config|
  config.omnibus.chef_version = :latest
end
vagrant-vbguest

VirtualBox Guest Additions をいい感じに自動インストールしてくれるプラグインです。

  • インストール
$ vagrant plugin install vagrant-vbguest
  • 設定
Vagrant.configure("2") do |config|  
  config.vbguest.auto_update = true
end

dotless-de/vagrant-vbguest · GitHub
Vagrant 用仮想マシン (box) の VirtualBox Guest Additions のバージョンアップ (vagrant-vbguest) - jitsu102's blog