便利なVagrantですが、複数のVMを扱ってると面倒に感じる時があります。
Vagrantfileはホームディレクトリ以下にこのように設置しています。
vagrant/ ├── centos6.5 │ └── Vagrantfile ├── centos7.0.1406 │ └── Vagrantfile └── coreos-vagrant └── Vagrantfile
CentOS6.5を操作していてCentOS7.0.1406を操作したくなった場合、
これまではcentos7.0.1406
ディレクトリに移動して
vagrant up
とvagrant ssh
を行っていました。
こんな感じです。
$ pwd /Users/kenichi/vagrant/centos6.5 $ $ cd ../centos7.0.1406/ $ $ vagrant up $ vagrant ssh
VMの数や種類が多くなったりすると何度も行ったり来たりするのは面倒です。
そこで使うと便利なのがpecrantです!
このようにvagrantマシンが一覧表示され選択するだけでカレントディレクトリから一歩も動くことなく
VMの起動・停止・SSH接続が可能になります。
セットアップ
GOROOT, GOPATH
以下各ソフトウェアのインストール手順のGoのGOROOT,GOPATHは
以下のような設定を前提としています。
#!/bin/bash mkdir -p ~/go/{bin,pkg,src} cat <<'EOF' >> ~/.bash_profile # go export GOROOT=`go env GOROOT` export GOPATH=$HOME/go export PATH=$GOPATH/bin:$PATH EOF
vagrant-global-statusインストール
go get github.com/monochromegane/vagrant-global-status/ cd go/src/github.com/monochromegane/vagrant-global-status/cmd/vagrant-global-status/ go install
vagrant-pecoインストール
cd /usr/local/bin/ curl -O https://raw.githubusercontent.com/monochromegane/vagrant-peco/master/vagrant-peco chmod +x vagrant-peco
pecrantインストール
cd /usr/local/bin/ curl -O https://raw.githubusercontent.com/gongo/pecrant/master/pecrant chmod +x pecrant
pecrant up
kenichi-mac:~ kenichi$ pecrant up QUERY> IgnoreCase [1/1] 7d31f19 default virtualbox poweroff /Users/kenichi/vagrant/centos7.0.1406 1049e95 default virtualbox poweroff /Users/kenichi/vagrant/centos6.5 8b373a9 core-01 virtualbox poweroff /Users/kenichi/vagrant/coreos-vagrant
pecrantヘルプ
kenichi-mac:~ kenichi$ pecrant help Usage: pecrant <command> up Start the selected vagrant machine provision Provision the selected vagrant machine reload Restart the selected vagrant machine suspend Suspend the selected vagrant machine resume Resume the selected vagrant machine halt Stop the selected vagrant machine destroy Stop and delete all traces of the vagrant machine ssh Connect to machine via SSH dir Show directory path for vagrant environments list Show vagrant environments for this user box Manage vagrant boxes: update, remove help Show this message