- 開発
READ MORE
ベイグラントと読むらしい(ずっとバーグラントと読んでたのは内緒)
VirtualBoxなどの仮想化ソフトウェアを便利に扱うためのフロントツール
vagrantコマンドを使って、以下のようにCLIから仮想環境を操作できる
# 起動 vagrant up # プロビジョニング(ChefSoloなど) vagrant provision # 接続 vagrant ssh # 終了 vagrant halt
VirtualBox以外にもこんなのも扱える
基本的にVagarntでできることはVirtualBoxだけでもできる(はず)
けどVagrantを使うことによって、いろんなことが簡単に便利にできるようになる
例えば
とか、いろいろあるけど
とりあえず便利だからVirtualBox使う際には噛ませておいて損は無い
VirtualBoxがインストールされている
ここからダウンロードしてインストール
適当なディレクトリを作成してから、以下を実行
vagrant box add precise64 http://files.vagrantup.com/precise64.box vagrant init precise64 vagrant up vagrant ssh
もしくは、こっちでもよい
vagrant init precise64 http://files.vagrantup.com/precise64.box vagrant up vagrant ssh
BoxとはVagrant用に調整されたISOファイルみたいなもの
ここからいろんなBoxがダウンロードできる
http://www.vagrantbox.es/
登録されたBoxの一覧を確認するには下記コマンド
vagrant box list
vagrant initするとVagrantfileが作成される
これが仮想環境の設定ファイルであり、使用するBoxや、後述のネットワーク設定などを記述できる
Vagrantfileを編集していく
仮想環境への変更の反映は下記コマンド
vagrant reload
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.network :forwarded_port, guest: 80, host: 8080
./cookbooks以下にchefのレシピを用意しておく
config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "./cookbooks" chef.add_recipe “git” end
vagrant provision
VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "precise32" config.vm.box_url = "http://files.vagrantup.com/precise32.box" config.vm.define :web1 do |web| web.vm.network :private_network, ip: "192.168.1.11" web.vm.network :forwarded_port, host: 8001, guest: 8000 end config.vm.define :web2 do |web| web.vm.network :private_network, ip: "192.168.1.12" web.vm.network :forwarded_port, host: 8002, guest: 8000 end end
各ホストへの接続は以下のようにVagrantfileで定義した名前をつけてやる
vagrant ssh web1 vagrant ssh web2
本日、布教を済ませて、開発環境の配布していきます。
Vagrantfileと一緒に、ChefのレシピをGitで管理して、常に全員が同じ開発環境となるようことを目指します。