adtech周辺に興味がある人の四方山話

adtech, marketing, data analysis, etc...

Vagrant導入メモ

ほぼ自分向けのメモです。作って壊してを簡単にできる仮想環境は大変便利デスヨネー

VagrantとVirtualBox

VirtualBoxのインストール

インストーラ持ってきて入れる。それだけ。

Vagrantのインストール

インストーラ持ってきて入れてもいいけど、gemでもインストールできるらしいのでそちらで。

1
$ gem install vagrant

後述しますが、結局gemで入れたvagrantはアンインストールして公式からインストーラ使って入れなおしました。

設定関係

  • boxをaddする
1
$ vagrant box add ${box_name} ${box_path or url}
  • add済みのbox一覧確認
1
$ vagrant box list
  • VM作る
1
2
3
$ mkdir ${vm_dir}
$ cd ${vm_dir}
$ vagrant init ${box_name}

共有ディレクトリ

VM側の/vagrantはホストOS側のvagrant initしたディレクトリと共有される。なので、共有される/vagrant以下に対して適当にシンボリックリンクを張ってやるとローカルでの作業が仮想マシン上に即座に反映されているので開発が捗る。ローカルからgit pushして、仮想マシン側でgit clone(pull)してもよい。

ある状態のboxを作る

  • 既にある程度設定が済んだ状態の仮想マシンから新たにboxを作成する
1
2
$ cd ${vm_dir}
$ vagrant package
  • boxのリストに追加する
1
$ vagrant box add ${box_name}

sahara

仮想マシンをある時点に巻き戻せるプラグイン。作って壊してができるようになるので大変便利

  • インストール
1
# vagrant plugin install sahara
  • sandboxモードへ
1
# vagrant sahara on
  • sandboxモードの開始時点へロールバック
1
# vagrant sahara rollback
  • sandboxモード中の変更を確定
1
#vagrant sahara commit
  • sandboxモードを終了
1
# vagrant sahara off
  • sandboxかどうかの確認
1
# vagrant sahara status

仮想マシン起動中は著しくcommitやoffの動作が遅くなるので、仮想マシンをhaltかsuspendした方が良さげ。

upgradeとか

ドットインストールでvagrant plugin などのsubcommandがないなぁとか思ってたらそもそもバージョンが違ったようだ。(自分は1.0.x系だった。) この辺見ると後方互換性はあるみたいだけど、pluginの扱い方が少し違うようなので、1.0.xから1.x系に切り替える。自分はgemでインストールしたけど、この辺 見て、gem uninstallしてdmgで入れた。

参考

ドットインストール