Edited at

Vagrantのプラグイン、何入れてたっけ…。

More than 1 year has passed since last update.

表題のように、『何入れてたっけ?』という時の確認。単純に、vagrant listで取れます。


bash

% vagrant plugin list

sahara (0.0.16)
vagrant-hostsupdater (0.0.11)
vagrant-vbguest (0.10.0)
vagrant-vbox-snapshot (0.0.4)

以上、本題の『何入れてたっけ?』の確認は終了。

以下は入れているプラグインの説明を載せておきます。

また、なかなか良い プラグイン一覧表があったので、これも末尾に載せておきます。


入っているものの確認


sahara & vagrant-vbox-snapshot

どっちも仮想マシンのスナップショットを取るプラグインです。

今のところ、こんな使い分けです。



  • saharaは、スナップショット作成時に名前の明示が要らないので、出来上がった仮想マシンで自動でテストを実施する際に使ったりします。


    • 自動テスト実施前にsandbox onし、テスト実施。テスト終了後にsandbox rollbackでもとに戻す感じ。




  • snapshotは、いわゆる普通のスナップショット機能をコマンドラインで実施するもの。


    • ベースのVMに対して少しずつ変更を加えて、状態をチェックして仕上げていくような場合に使っています。

    • たとえば、プロビジョニング用の手順を1つずつ適用していく際に、snapshotを取って確認するなど。




vagrant-hostsupdater

最近入れてみたら、便利でした!

特に、仮想マシンでWebアプリケーションを立ち上げ、ブラウザでホスト側からチェックする場合に 『名前』で参照できるようにしてくれます。


vagrant-ip-show

Vagrantに割り当てあっれているIPアドレスを表示してくれるプラグインです。

$ vagrant ip-show

10.xxx.xx.xxx
192.168.33.10

# Vagrantfileの設定例

config.vm.hostname = "vagrant-wp.local"
config.vm.network :private_network, ip: 192.168.33.10

このような設定で vagrant upすると…

# vagrant upの出力を一部のみ抜粋

# config.vm.hostnameに従い、仮想マシンの/etc/sysconfig/networkや/etc/hostsが変更。
[default] Setting hostname...
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
# 今度は、ホストOS側の /etc/hosts も書き換えてくれます!
[default] Checking for host entries
[default] adding to (/etc/hosts) : 192.168.33.10 vagrant-wp.local # VAGRANT: ac7b4da77acdbfcc9c07b97ebf253ea9 (default) / 723da5b5-fa2b-45ce-88c2-b89db67b2e8f


  • やってること


    • config.vm.hostnameに従い、仮想マシンの/etc/sysconfig/networkや/etc/hostsが変更される。

    • ホストOS側の/etc/hosts にも、エントリを追加してくれる。

    • 必要に応じ、ホスト側ではrootのパスワードを聞かれて、sudoで/etc/hostsを変更。



vagrant haltで仮想マシンを停止する際は、ホスト側の/etc/hostsから登録を勝手に外してくれます。

% vagrant halt

[default] Attempting graceful shutdown of VM...
[default] Removing hosts
# この場合はsudoのパスワードを聞いてきて、/etc/hostsのエントリを外します
Password:


vagrant-vbguest

ゲストOS側とホストOS側のGuestAdditionを揃えてくれるプラグインです。


vagrant-ip-show

Vagrantに割り当てあっれているIPアドレスを表示してくれるプラグインです。

実行のサンプルです。

$ vagrant ip-show

10.xxx.xx.xxx
192.168.33.10


Vagrant pluginの一覧

vagrant useful pluginで検索したら、HITしたURLを載せておきます。(かなりたくさん!)

上記に上げたものと同等のプラグインでも、いくつか実装があるんですね!

ゲストOS / Windows用のVagrant pluginがあるみたいなので、これも試してみようかと思います。


Vagrant plugin開発について

こちらに基本の情報があります。実装はrubyベース。ただいま勉強中です!