boxenで必要なものをいれてから、はじめてのvagrantまで。
Vagrant(Vagrant by HashiCorp)で遊ぼうと思い立ったのだけど、せっかくboxen入れたので、必要なものをとりあえずboxen経由で入れてみようかと。
ということで、まずboxen経由でvirtualboxとVagrantをinstall
# ~/src/our-boxen/Puppetfileに追記 # 現在のところ、boxen入れると/opt/boxen/repoのシンボリックリンクが~/src以下に作られる github "virthualbox", "1.0.2" # ~/src/our-boxen/modules/people/manifests/{github-user-name}.pp class people::{github-user-name} { include virtualbox package { 'Vagrant1.2.2': provider => 'pkgdmg', source => 'http://files.vagrantup.com/packages/7e400d00a3c5a0fdf2809c8b5001a035415a607b/Vagrant-1.2.2.dmg' } } # 上記のものをinstall $ boxen
dmg指定でVagrantの現時点で最新1.2.2をいれてるのだけど、latestのaliasがあると便利だなぁ。あと、boxenで入れたアプリの削除とかアップデートとかどうなってるんだろうというのが気になったので、機会あったらコード追ってみよう。
ここまでで必要なものはそろったので、あとはVagrantを試してみる。いろいろやりたいけど、とりあえずhello worldまで。
# box追加 $ vagrant box add centos6.4-x86-minimal http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130309.box # 初期化。 $ vagrant init # できたVagrantfile編集してconfig.vm.box = "centos6.4-x86-minimal"に。 # instance立ち上げ $ vagrant up # とりあえずつないでみる $ vagrant ssh
こんな感じでカジュアルにvm立てれると。便利。
Vagrantfileとかをgitとかで管理するときに、boxファイル自体は同管理するのがいいんだろ。これは後で調べよう。
複数台構成をVagrantで立ててみたり、Vagrantで立てたサーバをchefでセットアップしてみたり、capistranoとかでそこにdeployしてみたりとかはこれから試してみるつもり。あと、途中までセットアップしたboxを配る、みたいなのとかも。
【追記1】
config.vm.box_urlが指定で来て、ローカルにboxがない場合はそこ見にいってくれるっぽい。
【追記2】
Vagrantfileのあるディレクトリが/vagrantとしてマウントされていて、ファイルが共有される。地味に便利っぽい。