[Vagrant][veewee][virtualbox]ぶち壊してもいい仮想環境を簡単構築

家のmacminiが調子悪くなってしまい・・・GWということもあり再インストールすることにした。 再インストール自体は、「Command + R」で起動して、ディスクユーティリティからDiskを消去して初期化し、 その後にMountain Lionの再インストールを行い、きれいになった。

せっかくきれいになったので、次に開発環境を作るのは、実機上ではなく、仮想環境上に作ることにする。

最近流行り?の vagrant を使ってみることにする。

まずは ruby のインストール。rbenv を使用することにした。

1
2
3
$ brew install readline openssl
$ brew install rbenv && brew install ruby-build
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-openssl-dir=/usr/local" rbenv install 1.9.3-p385

.zshenv に追記

1
2
3
4
5
6
7
if which rbenv > /dev/null; then
    eval "$(rbenv init - zsh)"
    [[ -d "${HOME}/.rbenv/completions" ]] && source ~/.rbenv/completions/rbenv.zsh
    alias gem='rbenv exec gem'
    alias ruby='bundle exec ruby'
    alias rake='bundle exec rake'
fi

これで ruby のインストールは完了 使う ruby を先ほどインストールしたものにしておく

1
2
$ rbenv global 1.9.3-p385
$ rbenv rehash

お次は veewee のダウンロード

1
$ git clone https://github.com/jedi4ever/veewee.git

クローンし終わったら、veeweeに必要なgemをbundlerでインストール

1
2
$ cd veewee
$ gem install bundler

Gemfileでvagrantがコメントアウトされているのでコメントじゃなくする。

1
2
3
4
5
6
group :test do
    gem "rake"
    gem "vagrant" , "1.0.7"
    #gem "chef"
    #gem "knife-windows"
end

インストール

1
$ bundle install

作成するテンプレートの一覧は以下のCommandで見れる

1
$ bundle exec vagrant basebox templates

今回はfedora18を作成した。

1
$ bundle exec vagrant basebox define 'fedora18' 'Fedora-18-x86_64'

これで fedora18 という名前で環境が定義される。

以下のCommandでビルド。途中でISOをダウンロードするか聞かれるので yes と答える。

1
$ bundle exec vagrant basebox build fedora18

けっこう長い間待つと、作成完了して、sshでログイン出来るようになる。 初期パスワードは、 vagrant

1
$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 7222 -l vagrant 127.0.0.1

作成したboxのエクスポートは以下のCommandで出来る。

1
$ bundle exec vagrant basebox export fedora18

これでカレントディレクトリに fedora18.box ファイルが出来る。

次にこの box をvagrantに追加して使っていく。

1
2
$ bundle exec vagrant box add 'fedora18' 'fedora18.box'
$ bundle exec vagrant init fedora18

これで完了。

起動は

1
$ bundle exec vagrant up

停止は

1
$ bundle exec vagrant halt

一時停止的なのは、

1
$ bundle exec vagrant suspend

復帰は

1
$ bundle exec vagrant resume

参考

chef-soloで使用するvirtualbox(vagrant)をveeweeを使用して作る #Ruby #chef - Qiita [キータ]

Comments