vagrantの便利に使えるプラグイン6選

  • 480
    Like
  • 1
    Comment
More than 1 year has passed since last update.

オライリージャパンから『実践 Vagrant』が発売されるなど注目を集めているVagrantですが、Vagrantをより便利に使うためにプラグインを利用することができます。私が個人的に使用して、便利だと思ったプラグインについてまとめました。

便利なプラグイン6選

  1. sahara
  2. vagrant-cachier
  3. vagrant-global-status
  4. vagrant-omnibus
  5. vagrant-vbguest
  6. vagrant-vbox-snapshot

1. sahara

サンドボックスモードを有効にするプラグインです。サンドボックスモード内で実行した操作はロールバック機能で実行前の状態に戻すことができます。実行した操作を確定したい場合はコミットを実行します。Chefのレシピをいろいろ試したい場合などに便利に使えます。

インストール方法

$ vagrant plugin install sahara

操作方法

# sandboxモード実行
$ vagrant sandbox on

# ロールバック
$ vagrant sandbox rollback

# コミット
$ vagrant sandbox commit

# sandboxモード終了(コミットしていない変更は削除)
$ vagrant sandbox off

# sandboxのステータス確認
$ vagrant sandbox status

2. vagrant-cachier

yumapt-getなどパッケージ管理システムのパッケージをローカルにキャッシュすることでプロヴィジョニングの実行を高速化するプラグインです。仮想端末を頻繁にスクラップ・ビルドする場合は時間の節約になります。

正直に言うと、個人的に使っている分にはあまり高速化の実感がないのですが、無いよりは有った方が良いかなと思っています。

インストール方法

$ vagrant plugin install vagrant-cachier

最低限の設定

# Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = 'your-box'

  if Vagrant.has_plugin?("vagrant-cachier")
    config.cache.scope = :box
  end

end

3. vagrant-global-status

ホスト端末内のすべての仮想端末の情報をまとめて一覧表示してくれるプラグインです。気がつくと仮想端末があちらこちらに散在しているという状況を防ぐことができます。地味にとても便利です。

インストール方法

$ vagrant plugin install vagrant-global-status

操作方法

$ vagrant global-status --all

カレントディレクトリはどこでもOKです。

4. vagrant-omnibus

仮想端末のChefのインストール状況を確認して、必要があれば自動的にインストールしてくれるプラグインです。手動でChefをインストールする手間から解放されます。

インストール方法

$ vagrant plugin install vagrant-omnibus

5. vagrant-vbguest

仮想端末がVirtualboxの場合、仮想端末のVirtualbox-guest-addtionのインストール状況を確認して、必要があれば自動的にインストールしてくれるプラグインです。手動でGuest addtionをインストールする手間から解放されます。

インストール方法

$ vagrant plugin install vagrant-vbguest

6. vagrant-vbox-snapshot

仮想端末のスナップショットを管理するプラグインです。先に紹介したsaharaと一部の機能がかぶっているように見えますが、saharaが主に作業中の環境を管理するのに対して、こちらはポイントごとに取得したスナップショットを管理するために使用できます。

インストール方法

$ vagrant plugin install vagrant-vbox-snapshot

操作方法

# スナップショットの取得
$ vagrant snapshot take <snapshot-name>

# 直前のスナップショットの復元
$ vagrant snapshot back

# 任意のスナップショットの復元
$ vagrant snapshot go <snapshot-name>

# スナップショットの削除
$ vagrant snapshot delete <snapshot-nam>

# スナップショットの一覧表示
$ vagrant snapshot list

以上、Vagrantプラグインのまとめでした。